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�.