Salut ;)
Je viens d'essayer ta solution, malheureusement le textarea se vide toujours.
Bonsoir,Voici mon problème:J'ai réalisé une page de contact qui me renvoie les informations par mail.J'ai mis en place un système d'erreurs qui, lorsqu'un champ n'est pas rempli, affiche un message d'erreur. Le problème est que, lorsque le problème arrive toutes les valeurs de mon texte et aussi de ma liste déroulante effacée.Y'aurait-il une solution pour qu'elles restent affichées ?
Merci d'avance pour votre aide,
Cordialement,
Thomas.
17 réponses
Yes.
Prends une librairie javascript pour gérer les champs de ton formulaire de contact ;). Ca ne sert à rien d'envoyer un truc au serveur qu'il ne peut pas exploiter, quand on peut faire la vérification avant l'envoi!
Sinon, regarde du côté de l'affichage du contenu de la variable $_POST.
... que je ne recommande absolument pas ...
Merci pour ta réponse mais comme je suis encore débutant tu ne pourrais pas me montrer un exemple pour m'aider ?
Yop.
Tu peux utiliser la fonction native de php filter_input(INPUT_POST, 'namedutextarea') l'avantage est que si la valeur du textarea est vide, la fonction renvoit NULL (= du vide, qui ne renvoit donc pas d'erreur si namedutextarea n'est pas défini/n'a aucune valeur).
Tu fais bien ceci?
namedutextarea est à remplacer par la valeur de l'attribut name de ta textarea, si ça n'était pas déjà fait ^-^
Edit 26.02.2016
Mais si ça fonctionne!!! ;-) (et pour les options de ta liste (select) c'est le meme principe)

Sinon une technique barbare que je faisais auparavant, lors de la vérification du formulaire tu créer une $_SESSION['contact'] avec les données du formulaire....
Bonjour,
Excusez moi de ma réponse tardive.
Merci a vous deux pour vos réponses. Alex c'est gentil mais je préfère que tout se déroule sur la même page.
PhiSyX j'ai essayer ta solution comme ceci :
Mais ça ne change rien lorsqu'il y a une erreur le réponse fournie par l'utilisateur disparait.
Merci pour votre aide
Cordialement,
Thomas
Bonjour
L'attribut value n'existe pas sur un textarea, pour inserer une valeur il faut la placer entre les balises textarea
Merci ! Ca marche super bien !
Derniere chose j'avais mis en place un system d'erreur qui lorsqu'un champ n'est pas rempli affiche un message d'erreur et je voudrais faire pareil avec cette liste.
Voici mon ancien code:
Saurais tu comment m'aider en modifiant le code que tu m'a donné ?
Meric beaucoup
Thomas
Bonjour,
D'accord merci pour ta réponse.
Saurais-tu comment je dois-faire pour garder la valeur d'un liste ?
Merci
Bonne journée
Regardes le post de PhiSyX il donne la solution :)
Salut PhiSyX,
Merci pour ta réponse ;)
Seulement je n'arrive pas à lire le code que tu colle à la ligne 15. Pourrais-tu me l'envoyer ?
Merci d'avance
Cordialement,
Thomas
Ouaip, c'est celle-ci <option value="<?= $key ?>"<?= $selected ?>><?= $value ?></option>.
Salut PhiSyX,
Désolé de te déranger mais malgré le même code que toi rien ne s'affiche dans les propositions.
Pour t'aider voici le code:
Merci pour ton aide,
Thomas
Il te manque le s de
Je n'ai pas compris?
Tu veux affichier plusieurs erreurs des differents champs?
Il faut que tu crées un tableau et le remplir au fûr et à mesure de la validation et ensuite les afficher avec un foreach.
Par exemple:
Merci beaucoup PhiSyX !
C'est exactement ce que je voulais faire !
Grand merci et bonne soirée ;)