préremplir les zones de texte

Répondre
kamalito
le 21/07/2007 à 01:18
kamalito
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

if(!empty($_POST['nom_de_la_zone'])) echo $_POST['nom_de_la_zone'];


merci de votre aide
Necnom
le 21/07/2007 à 06:50
Necnom
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 :
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 ...
Necnom :)
LA GLOBULE
le 21/07/2007 à 12:49
LA GLOBULE
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
<?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>
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours