IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Conserver les valeurs de champs de formulaire après le submit


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Conserver les valeurs de champs de formulaire après le submit
    Bonsoir,

    Je suis débutant en PHP, j'ai créer un formulaire que j'ai nommé formulaire.php permettant de saisir les information (comme nom, prenom, age, sexe, ...etc). Et du côté serveur, j'ai crée un fichier resultat-formulaire.php permettant de récupérer et tester si un champ est vide et si c'est le cas, un message d'erreur est renvoyé.

    Je veux savoir comment faire pour garder les informations saisies sur le formulaire par l'utilisateur pour ne pas répéter l'opération depuis le début?

    Merci Bcp.

    Code formulaire.php :
    formulaire.php

    Code resultat-formulaire.php :
    resultat-formulaire.php

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 30
    Points : 44
    Points
    44
    Par défaut
    ce mieux d'utuliser la session qui garde les information tout au long de la visite au lieu de POST qui garde juste pour la requet

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2016
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2016
    Messages : 30
    Points : 44
    Points
    44
    Par défaut
    ton code passe si tu respect la casse (miniscule pour miniscule)
    donc formulaire.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head><title>Formulaire</title></head>
    <body bgcolor="#C2D1FF">
          <header> 
     
            <p class="header" align="center"> <b> <font size="6" color="#000000"><b>Veuillez remplir le formulaire :</b></font></b> </p>
     
          <br>
          <hr style="width:auto;" /> 
          </header>
    <?php
     
    ?>
     
    <form action="resultat-formulaire.php" method="post" name="formulaire">
     
    <fieldset>
    <legend><font size="6" color="#0080FF">Formulaire</font></legend>
     
    <table width="35%" border="0" align="center" cellpadding="3" cellspacing="3">
     
      <tr>
          <th bgcolor="#C0C0C0"><b> <div align="right">Nom :</div><b></th>
          <td><input type="text" name="Nom" size="20" maxlength="30" value="<?php echo $_POST['Nom']; ?>" /><br></td>
      </tr>
      <tr>
          <th bgcolor="#C0C0C0"><b><div align="right">Prénom :</div><b></th>
          <td><input type="text" name="Prenom" size="15" value="<?php echo $_POST['Prenom'];?>" maxlength="30" /> <br></td>
      </tr>
      <tr>
          <th bgcolor="#C0C0C0"><b><div align="right">Age :</div><b></th>
          <td><input type="text" name="Age" size="3" value="<?php echo $_POST['Age'];?>" maxlength="3" /> <br></td>
      </tr>
      <tr>
          <th bgcolor="#C0C0C0"><b><div align="right">Sexe :</div><b></th>
          <td><select name="Sexe" size="1" selected="<?php echo $_POST['Sexe'];?>">
                      <option></option>
                      <option value = "Homme">Homme</option>
                      <option value = "Femme">Femme</option>
          </select></td>
          <br>
      </tr>
      <tr>
          <th bgcolor="#C0C0C0"><b><div align="right">Catégorie :</div><b></th>
          <td><select name="Categorie" size="1" selected="<?php echo $_POST['Categorie'];?>">
                      <option></option>
                      <option value="Enseignant">Enseignant</option>
                      <option value="Etudiant">Etudiant</option>
          </select> </td>
          <br> <br>
      </tr>
      <tr>
          <th><b><div align="right">Merci de valider :</div><b></th>
          <td><input type="submit" value="Envoyer" name="Envoyer" title="Bouton d’envoi" />
          <input type="reset" value="Annuler" name="Annuler" title="Bouton d'annulation" /></td>
      </tr>
     
    </table>
     
    </fieldset>
     
    </form>
     
    </body>
    </html>

  4. #4
    Candidat au Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Merci à tous, c'est fait et a bien marcher.

    à plus.

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Points
    231
    Par défaut
    Tu peux ajouter un @ devant la variable $_POST dans le champ value pour éviter le warning lorsque l'index n'existe pas encore :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="Nom" size="20" maxlength="30" value="<?php echo @$_POST['Nom']; ?>" /><br></td>

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Solution plus propre pour éviter le warning :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="Nom" size="20" maxlength="30" value="<?php if (isset($_POST['Nom'])) echo $_POST['Nom']; ?>" /><br></td>

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    L'inconvénient de cette méthode est que si tu rafraichis la page, le formulaire va se soumettre à nouveau avec une boite d'alerte préalable provenant du navigateur. Pour éviter cela il vaudrait mieux enregistrer les valeurs en session et faire une redirection à la fin de ton traitement php vers cette même page.

  9. #9
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    OK pour ta remarque mais du coup, pour mettre le traitement dans la même page que le formulaire, ça devient hyper lourd...

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut laurentSc

    c'est pour ça que l'on essaie de séparer tant bien que mal les traitements des données des vues les affichant.
    Ainsi, la vue gérant le rendu du formulaire pourra être appelée de plusieurs endroits, ici en l'occurrence de plusieurs scripts de traitement relatifs au même formulaire mais ne traitant pas les mêmes actions.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/06/2014, 15h53
  2. [MySQL] Conserver les valeurs des champs après POST
    Par moudjahidine dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/05/2013, 14h56
  3. [AC-2003] Retirer les valeurs de champ de formulaire HTML vers Access
    Par faswebmaster dans le forum VBA Access
    Réponses: 0
    Dernier message: 01/06/2009, 15h11
  4. Conserver les valeurs de champs de formulaire
    Par cloridriks dans le forum Langage
    Réponses: 14
    Dernier message: 15/10/2008, 14h35
  5. conserver les valeurs entrées dans un formulaire
    Par mitmit dans le forum Langage
    Réponses: 5
    Dernier message: 03/05/2007, 10h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo