préremplir les zones de texte
salut
j'ai un petit souci c'est que j'ai 2 pages, une qui contient le formualire et l'autre le traitment alors mon problème c'est que si un user n'a pas rempli un conrole qui peut être obligatoire alors, il doit préremplir les valeurs dejà saisies
pour info, j'ai essayé de faire ca dans l'attribut value mais ca marche pas
merci de votre aide
j'ai un petit souci c'est que j'ai 2 pages, une qui contient le formualire et l'autre le traitment alors mon problème c'est que si un user n'a pas rempli un conrole qui peut être obligatoire alors, il doit préremplir les valeurs dejà saisies
pour info, j'ai essayé de faire ca dans l'attribut value mais ca marche pas
- if(!empty($_POST['nom_de_la_zone'])) echo $_POST['nom_de_la_zone'];
merci de votre aide
J'ai pas compris ...
Un user qui n'a pas rempli correctement le fomulaire arrive sur la page de traitement. Et cette page doit afficher les informations déja tappées aulieu de valider?? enfin .. tu peux m'expliquer stp ?
Si c'est un problème avec le "!empty", moi personnellement, j'utilise la variable "$null", donc si un champs est nul ... ça réaffiche les zones de textes.
Et dans l'attribut value, il n'y a pas de problème :
Il faut faire gaffe aux guillemets qui peuvent rompre les echos. si on fait un echo du type echo"";
Ben ... il ne faut pas que l'attribut value comporte des guillemets comme ceux-ci (""), si non, ça ferme l'echo.
-------------
Enfin ... moi c'est comme ça que je fais, si ça peut t'aider ...
Un user qui n'a pas rempli correctement le fomulaire arrive sur la page de traitement. Et cette page doit afficher les informations déja tappées aulieu de valider?? enfin .. tu peux m'expliquer stp ?
Si c'est un problème avec le "!empty", moi personnellement, j'utilise la variable "$null", donc si un champs est nul ... ça réaffiche les zones de textes.
Et dans l'attribut value, il n'y a pas de problème :
- if ($_POST['zone3'] == $null) { // on peut rajouter les "ou"(||) selon le nombre de champs obligatoires
- echo'<input type="text" value="'.$_POST['zone1'].'">';
- echo'<input type="text" value="'.$_POST['zone2'].'">';
- }
- else {
- // on valide; on fait le traitement
- }
Il faut faire gaffe aux guillemets qui peuvent rompre les echos. si on fait un echo du type echo"";
Ben ... il ne faut pas que l'attribut value comporte des guillemets comme ceux-ci (""), si non, ça ferme l'echo.
-------------
Enfin ... moi c'est comme ça que je fais, si ça peut t'aider ...
Le problème, c'est que tu ne dois pas changer de page entre ton formulaire et ton traitement PHP.
Il faut que tu fasses le traitement PHP avant d'afficher le formulaire.
Exemple :
index.php
Il faut que tu fasses le traitement PHP avant d'afficher le formulaire.
Exemple :
index.php
- <?php
- if (isset($_POST['blu'])) {
- // traitement php du forumlaire
- // si il y'a des erreurs, tu ne fais aucun header
- // si le formulaire est validé, tu fais un header vers une page de confirmation
- }
- ?><html>
- ...
- <form action="index.php" method="post">
- <input type="text" name="blu" value="<?php if (isset($_POST['blu'])) echo htmlentities($_POST['blu']); ?>" />
- </form>
- ...
- </html>
Accès rapide :
Remonter 

