Lorsqu'une erreur est détectée dans un formulaire, je voudrais ré-afficher le formulaire entièrement rempli, avec juste l'erreur affichée en rouge à côté du champ concerné...
Je ne sais pas vraiment comment procéder...
Lorsqu'une erreur est détectée dans un formulaire, je voudrais ré-afficher le formulaire entièrement rempli, avec juste l'erreur affichée en rouge à côté du champ concerné...
Je ne sais pas vraiment comment procéder...
Tu as juste à mettre l'action du formulaire vers la même page, tu peux alors facilement ré-afficher ton formulaire si besoin ou rediriger si tout est bon.
Tu peux aussi vérifier les données du formulaire avec JavaScript avant de soumettre le formulaire (si c'est possible).
Ça se fait en général dans un second temps, la validation JS n'étant évidemment pas du tout fiable.
Pour la validation en PHP, pas forcément besoin de faire pointer le form sur la même page, on peut aussi vérifier les données reçues, stocker les erreurs dans $_SESSION et rediriger avec header('Location: ...'). Ça a aussi l'énorme avantage de ne pas chercher à retransmettre le POST quand on actualise.
Un header() est une excellente solution pour éliminer le problème d'actualisation, stocker les messages dans la session aussi, mais tu fais comment pour ré-afficher les données saisies dans le formulaire si c'est pas la même page ?Envoyé par asdf007
Recharger la même page est bien plus simple, car on a tout sous le coude en cas d'erreur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager