Garder les donner d'une form PHP

Résolu
TXC5000 Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
TXC5000 Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -
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\" />
");


A voir également:

3 réponses

M@dien Messages postés 437 Date d'inscription   Statut Membre Dernière intervention   74
 
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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   Statut Membre Dernière intervention   7
 
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