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 :

Garder les valeurs d'un formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut Garder les valeurs d'un form
    Bonjour a tous ,

    j'ai pour me premiere page un formulaire ,
    puis la seconde qui permet a l'internaute de verifié les données qu'il a entrée
    je transmet ses données via $_POST .

    je lui permet en cas d'erreur de revenir en arriere avec un lien qui a pour fonction " javascript:window.history.go(-1) " , mais le probleme c'est
    une fois revenu sur le formulaire toute les données deja entrée on disparue ..

    qu'est ce qu'il faut que je fasse pour ne pas devoir retaper toute les données ?

    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux sois utiliser des sessions php, sois reposter les données en arriere plutot que de faire un back.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    je ne vois pas techniquement comment faire pour la solution de reposter

    je refait un formulaire dans la page de verif et au lieu du bouton " javascript:window.history.go(-1) " je refait un submit vers le formulaire
    et je doit faire apparaitre les données au yeux de l'internaute ou , c'est un peu l'enbrouille dans ma petite tete .



    pour la solution en session il me faut crée une sessions specifique pour chaque donnée ? dans la page de verif et apres ?

    $session['nom']
    $session['prenom']

    etc....

    merci

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non c'est bien ca pour le formulaire inverse.


    Pour la session, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['form']['nom'] = $_POST['nom']
    et dans le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom = htmlspecialchars($_SESSION['form']['nom']);
    echo '<input type="texte" name="nom" value="' . $nom .'" />';
    comme ca si tu veux detruire les informations tu as juste a faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    unset ($_SESSION['form']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Non c'est bien ca pour le formulaire inverse.


    et dans le formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom = htmlspecialchars($_SESSION['form']['nom']);
    echo '<input type="texte" name="nom" value="' . $nom .'" />';
    mais si met . $nom . comme value
    dans mon input nom quand l'internaute arrive pour la premiere fois sur la page il va trouver . $nom . dans le champs !!!

    desolé je comprend pas

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    il ne trouvera rien puisque $nom ne vaudra rien
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    bon sa fonctionne sabotage je te remercie ,
    mais il y a dans ma facon d'ecrire a mon avis une petit chpouns

    voila comment j'ai ecris le chose et de cette maniere le curseur ne se trouve pas en premiere ligne dans le champs mais en 2 ou 3° position pourquoi je n'en sais trop rien a mon avis il y a une meilleur facon d'ecrire la ligne

    la seconde chose j'ai viré les value="entre ton nom " onfocus="this.value='' "
    qui ete bien utile a mon formulaire parceque je me trouve avec deux value dans la balise et sa marche pas comme ca , il y a une solution ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="text"  name="adresse" size="35" maxlength="55" 
    class="input"   id="adresse" tabindex="4" value=<? echo "' $adresse '" ?>/>

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux faire un test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if (isset($_SESSION['form']['nom'])) {
     $nom = htmlspecialchars($_SESSION['form']['nom']);
    }
    else {
     $nom = "entre ton nom";
    }
     
    echo '<input type="text"  name="adresse" size="35" maxlength="55" 
    class="input" id="adresse" tabindex="4" value="' . $nom .'" onfocus="this.value=''" />';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING,
     expecting ',' or ';' in
    je crois qu'il n'aime pas le point de onfocus="this.value=''" car si je retire onfocus="this.value=''" j'ai plus l'erreur

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ah oui j'ai pas fait attention
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<input type="text"  name="adresse" size="35" maxlength="55" 
    class="input" id="adresse" tabindex="4" value="' . $nom .'" onfocus="this.value=\'\'" />';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    sa marche ,

    alors pour les input text c'est ok

    mais il est possible pour la balise select de recupere le choix
    j'ai fait un truc comme ca mais sa marche pas .



    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
     
    if (isset($_SESSION['form']['civilite'])) 
    {
     
     echo '<select name="civilite" style="width:55px;"  id="civilite" 
    tabindex="1"  value="' . $civilite .'" >
    <option  > </option>
    <option value="1">M</option>
    <option value="2">Mme</option>
    </select><br />';
     
    }          
    else 
    {
    echo '<select name="civilite" style="width:55px;"  id="civilite" 
    tabindex="1" " >
    <option value="" ></option>
    <option value="1">M</option>
    <option value="2">Mme</option>
    </select><br />';
    }

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'attribut pour un select est : selected="selected".
    Il faut donc comparer chaque "option" a ta valeur pour determiner si elle est "selected".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $liste_civilites = array(0=>"",1=>"M", 2=>"Mme");
    echo '<select name="civilite" style="width:55px;"  id="civilite" 
    tabindex="1">';
    foreach ($liste_civilites as $value=>$label) {
       if ($value == $_SESSION['form']['civilite']) {
           $selected = ' selected="selected"';
       }
       else {
           $selected = '';
       }
       echo '<option' . $selected . ' value="' . $value . '">' . $label . '</option>';
    }
    echo '</select><br />';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    Super beaucoup de thanks you

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $liste_civilites = array(0=>"",1=>"M", 2=>"Mme");

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai edité.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    vue merci
    il va etre du tonerre mon form

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    slt Sabotage
    bon , j'ai un petit soucis
    ton code fonctionne tres bien pour recuperé le choix fait dans le select
    quand je reviens pour faire la correction je trouve bien le select avec la bonne valeur par contre lors du controle avec le java script ci dessous sa colle pas
    il me fait pas d'alerte si le select reste vide !!! apparement la $value n'est pas vide ??

    ta gestion de la sessions pour le select
    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
     
    $liste_civilites = array(0=>"",1=>"M", 2=>"Mme");
    echo '<select name="civilite" style="width:55px;"  id="civilite" tabindex="1">';
     
    foreach ($liste_civilites as $value=>$label) 
    {
     
    if ($value == $_SESSION['form']['civilite'])
       {
       $selected = ' selected="selected"';
       }
       else 
       {
       $selected = '';
       }
     
    echo '<option' . $selected . ' value="' . $value . '">'
     . $label . '</option>';
     
    }
    echo '</select><br />';

    mon controle sur le select si vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     if(document.getElementById('civilite').value == "")
    	{
            alert ('Renseignez le champs Civilite');
            return false;
        }

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Regarde la faq pour la bonne facon de recuperer la valeur d'un select :

    http://javascript.developpez.com/faq...amps#valSelect
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    si je comprend bien mon controle est mal ecris est manque de precisions
    puisque la value de mon select est un tableau qui contient 0/1/2

    il me faut preciser la position de mon option dans mon select et c'est sur cette info que je fait le controle .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (document.getElementById('civilite').options[0])
    dans mon doc qui a pour Id civilite si son option et a la valeur 0 alors alerte
    option qui a 0 pour valeur dans le tableau .option[0].



    mais je crois qu'il est mal ecris car pour le coup l'alerte se declenche
    qu'on est fait un choix ou pas .

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Non la valeur de ton option selectionné c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('civilite').options[document.getElementById('civilite').selectedIndex].value
    option[0] c'est la valeur de l'option ayant l'index 0.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 487
    Points : 113
    Points
    113
    Par défaut
    ba j'ai essayer comme ca mais ca marche pas !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(document.getElementById('civilite').options[document.
    getElementById('civilite').selectedIndex].value )
    	{
            alert ('Renseignez le champs Civilite');
            return false;
        }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Garder les valeurs du formulaire en cliquant sur un lien
    Par L'aigle de Carthage dans le forum Langage
    Réponses: 15
    Dernier message: 12/07/2012, 14h42
  2. [MySQL] Envoie formulaire ; garder les valeurs séléctionnés dans des listes
    Par loviso dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 27/03/2010, 16h37
  3. [AJAX] Garder les valeurs des champ d'un formulaire en mémoire
    Par joss91 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/04/2008, 10h56
  4. Réponses: 1
    Dernier message: 04/06/2006, 01h35
  5. [Struts] Comment initialiser les valeurs d'un formulaire
    Par Sniper37 dans le forum Struts 1
    Réponses: 2
    Dernier message: 08/04/2005, 16h02

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