Salut à tous,

Christophe, si tu utilises le php de manière classique pour gérer tes formulaires, voici comment tu peux simplement réafficher la valeur entrée dans les champs en cas de réaffichage du formulaire:


Exemple du code d'un champ nommé nom


<input type="text" name="nom" id="nom"

value="<?php echo @$_POST["nom"]; ?>" />


Remarque bien qu'avant la variable $_POST["nom"] il y a le caractère @ qui est sensé empêcher l'affichage d'erreur en cas de non existence de la variable $_POST["nom"].


Et tu fais comme ça pour tous les champs input de ton formulaire.


pour les champs textarea si tu en utilises, ce sera comme ceci:


<textarea name="message" id="message">

<?php echo @$_POST["message"]; ?>

</textarea>


Pour ce qui est des champs de type select si tu en utilise, tu dois en php déterminer laquelle des options doit être sélectionnée, et ensuite lors de la génération des options assigner la propriété checked="checked" à la balise ouvrante de l'option qui doit être sélectionnée.


Par exemple, je vais le faire grossièrement, mais tu vas comprendre le principe:


<select name="sexe" id="sexe">

<?php

if(@$_POST["sexe"] == "m"){

?> <option value="m" selected="selected">Masculin</option> <?php

} else { // le masculin n'est pas sélectionné

?> <option value="m">Masculin</option> <?php

} // fin si

?>

<?php

if(@$_POST["sexe"] == "f"){

?> <option value="f" selected="selected">Féminin</option> <?php

} else { // le féminin n'est pas sélectionné

?> <option value="f">Féminin</option> <?php

} // fin si

?>

</select>


Bien évidemmment il y a moyen de faire ça en plus court, mais j'espère que tu as compris le truc.


Amicalement,


Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
www.visuweb.net



Le 30/06/2017 à 15:59, Abdel a écrit :
Coucou Christophe,

Excuse-moi, la réponse que je t'ai postée suppose que tu utilises un Framework, la, en l'occurrence, c'est Laravel, avec son moteur de template Blade.

J'aurais du te poser la question avant de te donner cette réponse.

Utilise-tu un Framework?

Si ce n'est pas le cas, la syntaxe que je t'ai communiquée ne risque pas de marcher chez toi.

En fait, les doubles accolades permettent d'entourer des noms de variables, tableaux, fonctions, etc. dans un template, en vue d'afficher du contenu.

Avec le moteur de template Blade de Laravel, {{ old('valeurDunAttribut') } est un moyen rapide d'afficher l'ancienne valeur d'un champ input dans un formulaire.

C'est la fonction old qui permet cela.

Je peux te chercher d'autres solutions si tu n'utilises pas de Framework, mais sache qu'aujourd'hui, beaucoup de déeveloppeurs d'applications Web en utilise.

Il est certains qu'en premier, tu éprouveras des difficultés à bien comprendre comment t'en servir, mais dès que ce sera chose faite, tu verras que ça te simplifiera beaucoup la vie, en l'occurrence, tout ce qui est gestion de formulaires, etc.

Voila, merci à toi.

Bien amicalement,
Abdel.


Le 30/06/2017 à 12:08, Christophe Garnier a écrit :
bonjour.
Merci pour ton message. Par contre je ne comprends pas {{old}}. Pourquoi ces accolades? et que fais old ?
merci

Le 29 juin 2017 à 21:58, Abdel <[email protected]> a écrit :

Coucou Christophe et tous,

Comme je vois que tu n'as pas encore reçu de réponse à ta question, je me permets de te répondre.

Si je comprends bien ta question, tu as un formulaire qui demande aux visiteurs de saisir certaines informations.

Si la saisie est bonne, tout va bien, le traitement PHP s'exécute, et on est correctement redirigé vers le résultat.

Par contre, si le traitement échoue, on revient au formulaire, et la, le visiteur s'exclame : "- Purée de carotte, je vais devoir tout réécrire !" lol !

Et bien sache que la solution est très simple !

Il te suffit rien que d'introduire un attribut value à chaque input de ton dit formulaire.

La, en l'occurrence, selon ta description, comme on n'a que des inputs de type texte, voila la valeur que tu devras ajouter pour chacun de tes champs :

<input type = "text" name = "valeurDeLattributName" value = "{{ old('valeurDeLattributName') }}" />

Voici une discussion sur Stack Overflow qui explique cela avec un peu plus de détails :

https://stackoverflow.com/questions/31310894/can-i-restore-the-input-field-values-after-validation-through-custom-request-obj

J'espère quand-même que tu es à l'aise avec l'anglais.

Voila, dis-nous si ça a bien marché.

Bien amicalement,
Abdel.


Le 28/06/2017 à 15:07, Christophe Garnier a écrit :
Salut tous.
Je crée un formulaire pour une création d'utilisateur. On demande à l’utilisateur de mettre un pseudo, un mot de passe, une confirmation de celui-ci et une adresse mail. Je fais les tests qui vont bien. Style si le mail n’est pas dans un format valide, le formulaire est réaffiché. Et c’est là que j’ai besoin de votre aide car l’utilisateur doit tout resaisir. Comment dois-je m’y prendre pour que les données déjà saisies se réaffichent dans les champ du formulaire.
merci de me mettre sur la piste.

Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.



Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.


Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.




Progliste :
Pour se d�sinscrire de la liste : mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je vous r�pondrez en priv�.



---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com


Progliste :
Pour se d�sinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.
        
        

Répondre à