A voir également:
- Conserver valeurs formulaire PHP
- Conserver valeurs formulaire PHP ✓ - Forum - PHP
- Modifier valeur sql dans formulaire php ✓ - Forum - PHP
- Récupérer données formulaire php - Articles
- Recuperer plusieurs valeurs checkbox php ✓ - Forum - PHP
- Récupérer données formulaire php par mail - Forum - PHP
5 réponses
Utilisateur anonyme
Bonjour,
Donc tu as un formulaire et tu souhaite que si certains champs sont vide que tu lui remet le formulaire pré-remplie avec les valeurs qu'il avait mis, en gros c'est ça ?
Donc là tu as plusieurs façon de le faire :
- Si le formulaire et le code qui va traiter les données ne font qu'un alors là aucun problème il suffit de mettre la variable POST dans le paramètre value de tes champs.
- Si c'est 2 pages différente, tu redirige vers le formulaire si des champs manque. Pour pré-remplir ton formulaire suffit de faire passer dans ce lien les valeurs via les paramètre GET.
ex : tu redirige vers mon_formulaire.php?nom=$nom;&age=$age;
Et ensuite t'as plus qu'à récupérer les variables et les mettre dans tes champs.
- Les variables de session mais ça je le recommande pas, c'est trop gourmand en mémoire.
Après il y a encore pleins de possibilité, il n'y a aucune convention à toi te trouver la méthode qui te correspond :)
Donc tu as un formulaire et tu souhaite que si certains champs sont vide que tu lui remet le formulaire pré-remplie avec les valeurs qu'il avait mis, en gros c'est ça ?
Donc là tu as plusieurs façon de le faire :
- Si le formulaire et le code qui va traiter les données ne font qu'un alors là aucun problème il suffit de mettre la variable POST dans le paramètre value de tes champs.
- Si c'est 2 pages différente, tu redirige vers le formulaire si des champs manque. Pour pré-remplir ton formulaire suffit de faire passer dans ce lien les valeurs via les paramètre GET.
ex : tu redirige vers mon_formulaire.php?nom=$nom;&age=$age;
Et ensuite t'as plus qu'à récupérer les variables et les mettre dans tes champs.
- Les variables de session mais ça je le recommande pas, c'est trop gourmand en mémoire.
Après il y a encore pleins de possibilité, il n'y a aucune convention à toi te trouver la méthode qui te correspond :)
thosting
- Messages postés
- 167
- Date d'inscription
- vendredi 6 février 2009
- Statut
- Membre
- Dernière intervention
- 6 décembre 2011
Avec des cookies, voir session_start().
thosting
- Messages postés
- 167
- Date d'inscription
- vendredi 6 février 2009
- Statut
- Membre
- Dernière intervention
- 6 décembre 2011
attention met surtout <?php htmlentities($nom)?>
Car les failles php sont souvent comme ca,
Car les failles php sont souvent comme ca,
Yazou92
- Messages postés
- 181
- Date d'inscription
- jeudi 15 janvier 2009
- Statut
- Membre
- Dernière intervention
- 30 avril 2013
Merci pour vos réponse :D
sunny
après ya un moyen plus simple, c'est en Javascript le
<a href="javascript:history.go(-1);">Corriger</a>
qui te fera retourner dans le formulaire precedemment envoyé avec les valeurs introduites
si il s'agit bien du cas présent:
- un utilisateur rempli un formulaire
- il click sur envoyer le formulaire
- tu recupere en php les $_POST['xyz']
- tu verifie si il y a des erreurs dans les champs
A partir de là, dans chaque verif des champs,
si il y a une erreur j'ecris dans une variable un avertissemnt d'erreur
$message_erreur.='Le pseudo doit contenir au moins x caracters<br><br>'
et ainsi de suite pour chaque erreur trouvée
en php
puis dans le corps HTML de ma page php de verification,
je verifie si
$message_erreur existe,
avec if($message_erreur)
s'il existe je l'affiche en ajoutant à la fin le code de retour history de javascript
$message_erreur.='<a href="javascript:history.go(-1);">Corriger</a><br><br>'
puis je le fait afficher dans le html,
ce qui donne la page, avec les messages d'erreur trouvés et le lien pour revenir dans le formulaire pour corriger
Le pseudo doit contenir au moins x caracters
Corriger
<a href="javascript:history.go(-1);">Corriger</a>
qui te fera retourner dans le formulaire precedemment envoyé avec les valeurs introduites
si il s'agit bien du cas présent:
- un utilisateur rempli un formulaire
- il click sur envoyer le formulaire
- tu recupere en php les $_POST['xyz']
- tu verifie si il y a des erreurs dans les champs
A partir de là, dans chaque verif des champs,
si il y a une erreur j'ecris dans une variable un avertissemnt d'erreur
$message_erreur.='Le pseudo doit contenir au moins x caracters<br><br>'
et ainsi de suite pour chaque erreur trouvée
en php
puis dans le corps HTML de ma page php de verification,
je verifie si
$message_erreur existe,
avec if($message_erreur)
s'il existe je l'affiche en ajoutant à la fin le code de retour history de javascript
$message_erreur.='<a href="javascript:history.go(-1);">Corriger</a><br><br>'
puis je le fait afficher dans le html,
ce qui donne la page, avec les messages d'erreur trouvés et le lien pour revenir dans le formulaire pour corriger
Le pseudo doit contenir au moins x caracters
Corriger
je vais essayer de faire avec la méthode de mettre la variable POST dans le value.
merci de ta réponse ;)
Type POST:
<input type="text" name ="nom" value="<?php if(isset($_POST['nom'])) { echo htmlentities($_POST['nom']);}?>" />
Type GET:
<input type="text" name ="nom" value="<?php if(isset($_GET['nom'])) { echo htmlentities($_GET['nom']);}?>" />
Dans les deux cas:
- on vérifie que la variable $_POST['nom'] (OU GET selon la méthode utilisée) existe
- si c'est le cas (c'est donc que l'on vient déjà de soumettre notre formulaire), on affiche la valeur envoyée dans le champ texte(en le mettant en value)
Voila :-)