Forum CMS Made Simple FR

Version complète : Transmission de paramètres [Résolu]
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
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'];

}
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/fi...mpaign=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.
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é.
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.
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.
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.
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.