Garder les donner d'une form PHP

Résolu/Fermé
TXC5000 Messages postés 51 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 - 25 juin 2010 à 18:13
TXC5000 Messages postés 51 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 - 25 juin 2010 à 19:10
Bonjour, j'aimerai que lorsque l'utilisateur clique sur submit, les donner de certain text box sont conserver.

Je m'explique, j'ai une form, lorsque l'utilisateur fait submit le script php regarde si l'utilisateur a oublier des information, si oui il redirect la page sur lui meme mais pour afficher un message d'erreur. Le problème ses que les information des text box ne sont pas conserver.

Une petit script en php serait tres bien.

Voicie une de mais essay que jai lus sur internet mais sans success:
<?php
if (isset($_POST['submit'])) {
$username = $_POST['username'];
}
echo("
<input type=\"text\" value=\"{$username}\" id=\"username\" name=\"username\" maxlength=\"320\" class=\"text\" tabindex=\"1\" />
");


3 réponses

M@dien Messages postés 437 Date d'inscription mercredi 29 juillet 2009 Statut Membre Dernière intervention 23 septembre 2010 74
25 juin 2010 à 18:32
Bonjour,

ce petit script pourrait convenir:
echo '<input type="text" value="'. (isset($_POST["username"])?$_POST["username"]:'') .'" id="username" name="username" maxlength="320" class="text" tabindex="1" />'; 


1
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
25 juin 2010 à 18:37
Salut.

Si le traitement se fait sur la même page que le formulaire, inutile de faire une redirection. Tu pourras ainsi afficher les variables POST.

Voici comment je procède :
<?php
if(!empty($_POST)) {
    /* Variables pour gérer les erreurs */
    $nbErreurs = 0;
    $msgErreurs = '';

    /* On applique un trim() sur les variables pour ne pas se faire pigonner par des espaces */
    $nom = trim($_POST['nom']);
    $prenom = trim($_POST['prenom']);
    $mail = $_POST['mail'];
    $message = trim($_POST['message']);


    /* Vérifications */
    if(empty($nom)) {
        $nbErreurs++;
        $msgErreurs .= 'Le champ "Nom" est vide.<br/>';
    }

    if(empty($prenom)) {
        $nbErreurs++;
        $msgErreurs .= 'Le champ "Prénom" est vide.<br/>';
    }

    if(!preg_match('#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#i',$mail)) {
        $nbErreurs++;
        $msgErreurs .= 'L\'adresse email est invalide.<br/>';
    }

    if(empty($message)) {
        $nbErreurs++;
        $msgErreurs .= 'Le champ "Message" est vide.<br/>';
    }

    /* Affichage des erreurs s'il y en a */
    if($nbErreurs > 0) {
        afficherErreurs();
        afficherFormulaire();
    } else {
        afficherSucces();
    }
} else {
    afficherFormulaire();
}
?>


Dans le formulaire, voici comment faire pour réafficher les valeurs :
<input type="text" name="nom" id="nom" value="<?php echo isset($_POST['prenom']) ? $_POST['prenom'] : ''; ?>" />
1
TXC5000 Messages postés 51 Date d'inscription vendredi 25 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 7
Modifié par TXC5000 le 26/06/2010 à 23:05
Merci pour ces scripts, j'ai bien appliquer ton script et il marche a merveille. Mais pour afficher les erreur de ma form, je doit procéder autrement et éviter les redirection.
0