Forum CMS Made Simple FR
Transmission de paramètres [Résolu] - Version imprimable

+- Forum CMS Made Simple FR (https://forum.cmsmadesimple.fr)
+-- Forum : Général (https://forum.cmsmadesimple.fr/forum-3.html)
+--- Forum : Modules, Tags (https://forum.cmsmadesimple.fr/forum-14.html)
+--- Sujet : Transmission de paramètres [Résolu] (/thread-1792.html)



Transmission de paramètres [Résolu] - landais - 25/02/2012

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.10.3
#~ Url du site :
#~ Hébergeur / Soft : XAMPP for windows 1.7.3
#~ Informations Système :
#~ Informations de configuration du CMS
#~ php_memory_limit
#~ process_whole_template false
#~ output_compression false
#~ max_upload_size 128000000
#~ default_upload_permission 664
#~ url_rewriting none
#~ page_extension
#~ query_var page
#~ image_manipulation_prog GD
#~ auto_alias_content true
#~ locale
#~ default_encoding utf-8
#~ admin_encoding utf-8
#~ set_names true
#~ debug false
#~ use_smarty_php_tags false
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Je voudrais savoir pourquoi le code suivant de la page "TEST" ne fonctionne pas.
Lorsque j'appuie sur le bouton "ENVOYER", le mot tapé dans le champ "Mots" du formulaire s'efface alors que je voudrais qu'il reste affiché.

Page "TEST":


<form name="form1" method="post" action="">

<input name="Mots" type="text" size="50" maxlength="50" value="{Test Envoyer=$Envoyer Mots=$Mots}">

<input type="submit" name="Envoyer" value="ENVOYER" >

</form>

--------------

Dans le TAG utilisateur "Test", j'ai mis le code suivant :


if ($params['Envoyer']) {


echo $params['Mots'];

}


Transmission de paramètres [Résolu] - jissey - 25/02/2012

Bonjour et bienvenue,
il y a sur ce forum des posts qui traitent du sujet, comme celui là http://www.cmsmadesimple.fr/forum/viewtopic.php?id=3902 mais tu pourras en trouver d'autres.
Dans le wiki et la doc, tu trouveras aussi des infos sur les UDT.
Il y a aussi un excellent bouquin pour les dev avec le chapitre sur les UDT en libre telechargement :
http://www.packtpub.com/sites/default/files/4682OS-Chapter-3-Getting-the-Most-out-of-Tags-and-User-Defined-Tags.pdf?utm_source=packtpub&utm_medium=free&utm_campaign=pdf

Pour ton problème, je ne vois pas ce qu'il y a dans $envoyer et $mot. De ce que tu nous indiques, ces variables ne contiennent rien, donc rien ne se passe.


Transmission de paramètres [Résolu] - landais - 25/02/2012

Merci jissey pour ta réponse. Je vais étudié les 2 pistes que tu m'as indiqué pour essayer de trouver la solution à ce problème de passage de paramètres.

jissey a écrit :Pour ton problème, je ne vois pas ce qu'il y a dans $envoyer et $mot. De ce que tu nous indiques, ces variables ne contiennent rien, donc rien ne se passe.

La page "TEST" contient simplement un formulaire html qui lui contient juste un champ "Mots" et un bouton ENVOYER.

Donc la variable $Envoyer doit passer de 0 à 1 quand tu cliques sur le bouton ENVOYER .
Tant qu'à la variable $Mots, elle contient ce que tu tapes dans le champ "Mots" du formulaire.

Le problème c'est quand tu cliques sur le bouton ENVOYER le champ "Mots" ne garde pas affiché le contenu que tu as tapé car la transmission des 2 paramètres de {Test Envoyer=$Envoyer Mots=$Mots} pose problème.


Pas compliqué à vérifier en créant simplement la page TEST et la balise utilisateur "Test" avec le code indiqué.


Transmission de paramètres [Résolu] - jissey - 26/02/2012

Citation :Pas compliqué à vérifier en créant simplement la page TEST et la balise utilisateur "Test" avec le code indiqué.
sans recréer le formulaire, si $Envoyer est pour toi le bouton Envoyer et $Mots la saisie, alors pour moi, il faut les appeler $_POST['envoyer'] et $_POST['Mots'] d'une part et $_POST['Envoyer'] = "ENVOYER" et non pas 0 ou 1.

Le test if(isset($params['Envoyer'])) renverrait bien 0 ou 1.


Transmission de paramètres [Résolu] - jissey - 26/02/2012

et je rajoute que dans la page test, il n'y a pas de PHP, les variables doivent être des variables smarty qu'il faut initialiser dans l'UDT.


Transmission de paramètres [Résolu] - landais - 26/02/2012

La page TEST ne contient pas de php mais juste un formulaire html dont un élément input contient la balise utilisateur {Test} à la quelle je passais 2 paramètres pensant pouvoir les récupérer par $params placé dans le code php de la balise "Test" .

Finalement le codage suivant fonctionne:

Page "TEST":

<form name="form1" method="post" action="">

<input name="Mots" type="text" size="50" maxlength="50" value="{Test }">

<input type="submit" name="Envoyer" value="ENVOYER" >

</form>

--------------

Dans le TAG utilisateur "Test", j'ai mis le code php suivant :

if ($_POST['Envoyer']) {


echo $_POST['Mots'];

}


Merci jissey pour tes réponses qui finalement m'auront aidé à trouver une solution et à découvrir le cookbook de Samuel Goldstein pour le développement CMS Made Simple.


Transmission de paramètres [Résolu] - jissey - 26/02/2012

tant mieux, j'espère que ça va t'encourager à continuer avec CMSMS!

Merci de marquer [Résolu] dans le titre en éditant le premier post.