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 :

Session formulaires sans login


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut Session formulaires sans login
    Bonjour,

    je cherche la solution idéale pour transmettre des données de formulaires d'une page à une autre.

    Sur mon site, j'ai X pages et sur ces pages, j'ai 3 formulaies, placés sur 3 pages différentes. On passe d'un formulaire à un autre par un simple lien 'page suivante' jusqu'au formukaire final avec le bouton 'Envoyé' Mais les infos des formulaires précédent ne sont pas transmisent.
    Pour chaque page, j'utilise la fonction suivantes:

    <?php
    session_start();
    ?>
    Placé en tête de script avant toute instruction ou code.

    Ceci devrait conserver toute données sur le serveur?
    Peut-être ai-je oublieé certaines choses!!

    Mes variables passe de page 1a la 2 mais pas de la 2 à la 3 et de la 3 a la 4 5em ètape loger l'utilisateur.

    J'ai essayé avec ceci a la page 3 mais rien ne passe.
    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
    <?php 
     
    session_start();
    $id = $_SESSION['id'];
    $civilite = $_SESSION['civilite'];
    $nom = $_SESSION['nom'];
    $prenom = $_SESSION['prenom'];
    $adresse1 = $_SESSION['adresse1'];
    $adresse2 = $_SESSION['adresse2'];
    $code_postal = $_SESSION['code_postal'];
    $ville = $_SESSION['ville'];
    $pays = $_SESSION['pays'];
    $email = $_SESSION['email'];
    $email_confirm = $_SESSION['email_confirm'];
    $login = $_SESSION['login'];
    $pass = $_SESSION['pass'];
    $pass_confirm = $_SESSION['pass_confirm'];
     
     
    //print("<center>Bonjour $civilite $nom $prenom</center>");
    ?>
    Formulaire page 2

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
           <form action="inscription4-5.php" action="envoyer" method='post'>
        <table align="center" border="1" style="width: auto">
          <tbody>
            <tr>
              <td>Civilité<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="text" name="civilite" size="30" maxlength="30" value="<?php echo $CIVILITE; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Nom<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="text" name="nom" size="30" maxlength="30" value="<?php echo $NOM; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Prènom<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="text" name="prenom" size="30" maxlength="20" value="<?php echo $PRENOM; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Adresse<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="adresse1" size="30" maxlength="150" value="<?php echo $ADRESSE1; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Adresse2<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="adresse2" size="30" maxlength="150" value="<?php echo $ADRESSE2; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Code_postal<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="code_postal" size="30" maxlength="40" value="<?php echo $CODE_POSTAL; ?> " disabled="disabled"><br />
              </td>
            </tr>
              <td>Ville<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="ville" size="30" maxlength="40" value="<?php echo $VILLE; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Pays<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="pays" size="30" maxlength="40" value="<?php echo $PAYS; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Email<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="text" name="email" size="30" maxlength="150" value="<?php echo $EMAIL; ?> " disabled="disabled"><br />
              </td>
            </tr>
              <td>Confirmation email<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="text" name="email_confirm" size="30" maxlength="150" value="<?php echo $EMAIL_CONFIRM; ?> "disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="ip" value="<?php echo $adresse_ip ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td>6<br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="niveau" value="<?php echo $niveau ; ?>" size="30" ><input type="submit" name="modifier" value="Modifier"><br />
              </td>
            </tr>
              <td>4<br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="date_inscription" value="<?php echo $date ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td>5<br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="heure_inscription" value="<?php echo $heure ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td>4<br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="date_inscription" value="<?php echo $date_inscription ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td>5<br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="heure_inscription" value="<?php echo $heure_inscription ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td>Login<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="text" name="login" size="30" /><br />
              </td>
            </tr>
              <td>Mot de passe<br /> 
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="password" name="pass" size="30" /><br />
              </td>
            </tr>
            <tr>
              <td>Confirmation mot de passe <br />
              </td>
              <td><?php echo "<align='left' style='color:red;'><strong>(*)</strong>"; ?><br />
              </td>
              <td><input type="password" name="pass2" size="30" /><br />
              </td>
            </tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="button" value="page précédente" onclick="javascript:history.back()"><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="reset" value="Effacer"> <input type="submit" name="envoyer" value="S'inscrire"><br /> 
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><br />
              </td>
            </tr>
          </tbody>
        </table>

    Merci de votre aide
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  2. #2
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Si je devais faire ça, probablement que je sérialiserais les données du formulaire 1, les mettrais dans un champ caché du 2.

    Puis sérialiserais les données du 1 et du 2 mises dans un champ caché du 3

    A la fin y'a plus qu'a dé-sérialiser le champ caché.

  3. #3
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut

    Tu envoies tes variables via la méthode Post, idéalement, tu devrais les mettre en variable de session comme par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    session_start();
    $_SESSION['nom'] =($_POST['nom']);
    //.....
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Sur le submit du formulaire, tu récupéres ses valeurs de champs avec le $_POST et tu fais des mises à jour de la $_SESSION comme indique ALain pour les valeurs que tu souhaites garder jusqu'au dernier formulaire.

    Donc pour le passage de formulaire en formulaire soit tu modifies des valeurs dans la session( $_SESSION['unChamp']) si il y a eu effectivement une modification, soit tu ajoutes un nouveau champ en utilisant $_POST.
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  5. #5
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    re,

    Et par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="nom" size="30" maxlength="30" value="<?php if (isset($_SESSION['nom'])) { echo $_SESSION['nom']; } ?>" disabled="disabled">
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  6. #6
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Par pur idéologisme, je conseillerais plutôt de faire transiter les données de formulaire en formulaire dans un champ caché.

    En effet les sessions ne sont pas faites pour être utilisées comme rustine pour y stocker des variables qu'on voudrait persistante juste sur 2 pages.

    Ca peut parraitre extremiste, mais c'est en prenant l'habitude de ne pas utiliser une solution rustine si une autre utilisation plus académique est possible qu'on évite de finir avec des usines à gaz.

    PS: question subsidiaire, y'a-t-il un traitement entre les formulaires ?

    Parce que l'idéal imho serait de faire 3 formulaires sur la même page qui s'affichent un à un et si besoin est de compléter les items d'un a partir des données d'un premier, le faire avec ajax.

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    @djibxav
    Par pur idéologisme, je conseillerais plutôt de faire transiter les données de formulaire en formulaire dans un champ caché.
    Oui bien sûr, tu peux passer par les champs hidden MAIS pour la remarque:
    Ca peut parraitre extremiste, mais c'est en prenant l'habitude de ne pas utiliser une solution rustine si une autre utilisation plus académique est possible qu'on évite de finir avec des usines à gaz.
    Je suis pas sûr de l'usine à gaz bis avec les hidden dans le cas de mise à jour, de manipulation des widgets disabled (quoique je sais pas si il le désire).

    En dernier, pour l'utilisation des $_SESSION comme rustine par rapport aux champs hidden qui sont utilisés généralement avec du javaScript comme le résultat d'un calcul etc, ... je vois pas trop
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  8. #8
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Oui ça se tient.

    Par contre s'il veut utiliser les sessions, je sérialiserais les données dans une seule variable de session et n'oublierais pas de la faire sauter après le traitement du dernier formulaire, créer des tonnes de variables de session pour y stocker le temps d'un script, des $_POST, je sais pas, ça me traumatise un peu.

    Mais la vrai question que je me pose depuis le début, c'est pourquoi donc 5 formulaires, parce que sans connaitre l'idée du flux, la raison de ces 5 forms, j'ai du mal à conceptualiser le fonctionnement qui s'y prêtera la plus.

  9. #9
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    @djibxav
    Par contre s'il veut utiliser les sessions, je sérialiserais les données dans une seule variable de session et n'oublierais pas de la faire sauter après le traitement du dernier formulaire, créer des tonnes de variables de session pour y stocker le temps d'un script, des $_POST, je sais pas, ça me traumatise un peu.
    Oui pour le cas d'une tonne de variable cela peut paraître plus propre , juste une remarque (à vérifier) la sérialisation n'est pas automatique pour les tableaux ? (il me semble avoir vu cela)

    Pour la vrai question:
    Sur mon site, j'ai X pages et sur ces pages, j'ai 3 formulaies, placés sur 3 pages différentes.
    ici

    En effet, si tu veux répondre aussi à la conception de tous les projets exposés ici, tu peux prendre ton temps
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  10. #10
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Citation Envoyé par Fench Voir le message
    En effet, si tu veux répondre aussi à la conception de tous les projets exposés ici, tu peux prendre ton temps
    Sans vouloir re-conceptualiser tout les problèmes exposés, j'aime à guider les gens qui ont un problème parce qu'ils ont parfois mal conceptualisé vers la solution qui aurait été optimale. Même s'ils ne l'appliquent pas dans le code présent, ça les mettra sur la bonne voie pour plus tard.

    Imaginons qu'il ai 3 ou 5 (je ne sais plus il dit 3 mais dans le code j'ai cru comprendre 5) formulaires pour une simple raison de pagination, il peut être bon qu'il sache qu'un seul formulaire, coupé en 5 avec un bout de JS qui fait défiler les différentes parties, lui aurait évité bien des emmerdements.

  11. #11
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut djibxav

    Perso...je mets en variable de session uniquement celles qui seront utiles dans l'application et pour toutes les pages, et accessibles durant la vie de la session.
    Celà ne se traduit jamais par des tonnes de variables inutiles.
    Et ensuite, des variables classiques pour les traitements dans les pages ouvertes.

    Par conséquent, l'utilisation des deux méthodes n'est pas incomptible dans une même applic.

    Tout dépend du projet à développer, et vu qu'on en sait pas plus sur ce sujet.., ni non plus pourquoi 4 ou 5 formualaires (??)....

    Dans un premier temps et comme c'était présenté, variable vers variable de session, la syntaxe utilisée n'était pas cohérente et les réponses fournies allaient dans ce sens.
    Après, c'est un autre débat...et grandement ouvert.
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  12. #12
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    je mes en session des variables persistantes sur lesquelles je ne désire plus faire de validation.

    Parce même si c'est un champ hidden, il faut revalider toutes données qui proviens d'un formulaire. Par exemple si tu fais la saisie d'un montant en étape 1 que tu la valide par rapport à ton compte en banque, la cible et la source du virement, que tu les valides, tu transmets le tout via des champs cachés vers l'étape 3 et finalement tu demandes à l'utilisateur de confirmer en soumettant le formulaire.

    Si tu ne revalides pas les comptes et les montants à chaque fois, il y aura un jour quelqu'un qui trichera. Et ça sera pour ta pomme.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    Merci a tous pour vos réponses.

    De la page 2 à la 3, je passe les informations comme ceci

    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
                       $_SESSION["civilite"] = $_POST["civilite"];
                                  $_SESSION["nom"] = $_POST["nom"];
                                  $_SESSION["prenom"] = $_POST["prenom"];
                                  $_SESSION["jour_de_naissance"] = $_POST["jour_de_naisance"];
    			      $_SESSION["mois_de_naissance"] = $_POST["mois_de_naisance"];
    			      $_SESSION["anne_de_naissance"] = $_POST["anne_de_naisance"];
                                  $_SESSION["adresse1"] = $_POST["adresse1"];
                                  $_SESSION["adresse2"] = $_POST["adresse2"];
                                  $_SESSION["ville"] = $_POST["ville"];
                                  $_SESSION["code_postal"] = $_POST["code_postal"];
                                  $_SESSION["pays"] = $_POST["pays"];
                                  $_SESSION["email"] = $_POST["email"];
                                  $_SESSION["adresse_ip"] = $_POST["adresse_ip"];
                                  $_SESSION["niveau"] = $_POST["niveau"];
                                  $_SESSION["date_inscription"] = $_POST["date_inscription"];
                                  $_SESSION["heure_inscription"] = $_POST["heure__inscription"];
                                  $_SESSION["login"] = $_POST["login"];
                                  $_SESSION["pass"] = $_POST["pass"];
    A la page 3 je l'ai recupere comme ceci

    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
     
    session_start();
     
    $civilite = $_SESSION['civilite'];
    $nom = $_SESSION['nom'];
    $prenom = $_SESSION['prenom'];
    $jour_de_naissance = $_SESSION['jour_de_naissance'];
    $mois_de_naissance = $_SESSION['mois_de_naissance'];
    $mois_de_naissance = $_SESSION['mois_de_naissance'];
    $adresse1 = $_SESSION['adresse1'];
    $adresse2 = $_SESSION['adresse2'];
    $code_postal = $_SESSION['code_postal'];
    $ville = $_SESSION['ville'];
    $pays = $_SESSION['pays'];
    $email = $_SESSION['email'];
    $adresse_ip = $_SESSION['adresse_ip'];
    $niveau = $_SESSION['niveau'];
    $date_inscription = $_SESSION['date_inscription'];
    $heure_inscription = $_SESSION['heure_inscription'];
    $login = $_SESSION['login'];
    $pass = $_SESSION['pass'];
    $pass_md5 = $_SESSION['pass_md5'];

    Mais Il y a un truc bizarre, je n'arrive pas faire passer le login et mot de passe avec ceux des variables de seission.

    Il s'affiche a la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Login : root
    pass : xxxx
    ceux de ma machine, j'ai essayé avec unset rien a faire et pourtant je suis sur un autre poste.
    C'est a la page 2 que l'uilisateur indique son login et mot de passe qu'il désire utiliser.
    La page 3 inscrit le menbre dans la basse de donnée et envoi un email de confirmation a l'utilisateur.

    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  14. #14
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Tu as essayé de nommer les variables autrement, genre tata pour login et toto pour pass ?

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    Oui j'ai dèja essayé c'est pareil.
    Quoi faire ?

    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  16. #16
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Citation Envoyé par xunil2003 Voir le message
    Bonsoir,

    Oui j'ai dèja essayé c'est pareil.
    Quoi faire ?

    Merci.

    Tu veux dire que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Traitement de formulaire 1 ou on a un champ login et un champ pass
    $_SESSION["lyon"] = $_POST["login"];
    $_SESSION["paris"] = $_POST["pass"];
     
    Arrivé en traitement de formulaire 3
    $l = $_SESSION['lyon'];
    $p = $_SESSION['paris'];
     
    echo $l,' - ',$p;
    Ca balance les logs et pass root de ta machine ?

    Aucune autre variable quelle que soit sa portée ne s'appelle $login ou $pass dans toute ton appli ?

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    J'ai retesté, mais ca marche pas, c'est vide rien.
    Je ne sais plus quoi faire ?

    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

  18. #18
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Dans le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $_SESSION["login"] = $_POST["login"];
    $_SESSION["pass"] = $_POST["pass"];
    affiche avant les $_SESSION et les $_POST pour voir ce qu'il y a dedans ...

    Donne nous le code du formulaire avec les input du login et mot de passe
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  19. #19
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par xunil2003 Voir le message
    Bonjour,


    Il s'affiche a la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Login : root
    pass : xxxx
    Tu as vérifié tes variables de connexion vers ta base ?

    En fait, si tu utilises ceci pour te connecter vers ton serveur et, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $host = '*******';
    $login = '*******';
    $pass = '*******'; 
    $db ='********';
    Dans l'affirmative, c'est sûr que tu vas rencontrer des soucis, si tu as les mêmes dans ton formulaire, en l'occurence les champs " login et pass".
    C'est juste une piste, à vérifier.
    Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
    C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonjour,

    Oui exactement le fichier login.php, je l'ai donc rectifié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $host_svr = '*******';
    $login_svr = '*******';
    $pass_svr = '*******'; 
    $db_svr ='********';
    Uniquement pour le login et le mot de passe les varibles seission sont vides, de la page 2 a la page 3 ??
    Curieusement le mot de passe et transmis en MD5.
    Toutes les autres varibles seission passe.


    Page 2

    ici les variables seison
    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
     
    				session_start();
     
                                  $_SESSION["civilite"] = $_POST["civilite"];
                                  $_SESSION["nom"] = $_POST["nom"];
                                  $_SESSION["prenom"] = $_POST["prenom"];
                                  $_SESSION["jour_de_naissance"] = $_POST["jour_de_naisance"];
    			      $_SESSION["mois_de_naissance"] = $_POST["mois_de_naisance"];
    			      $_SESSION["anne_de_naissance"] = $_POST["anne_de_naisance"];
                                  $_SESSION["adresse1"] = $_POST["adresse1"];
                                  $_SESSION["adresse2"] = $_POST["adresse2"];
                                  $_SESSION["ville"] = $_POST["ville"];
                                  $_SESSION["code_postal"] = $_POST["code_postal"];
                                  $_SESSION["pays"] = $_POST["pays"];
                                  $_SESSION["email"] = $_POST["email"];
                                  $_SESSION["email_confirm"] = $_POST["email_confirm"];
                                  $_SESSION["adresse_ip"] = $_POST["adresse_ip"];
                                  $_SESSION["niveau"] = $_POST["niveau"];
                                  $_SESSION["date_inscription"] = $_POST["date_inscription"];
                                  $_SESSION["heure_inscription"] = $_POST["heure__inscription"];
                                  $_SESSION["login"] = $_POST["login"];
                                  $_SESSION["pass"] = $_POST["pass"];
                                  $PASS_MD5 = md5($pass_claire);
                                  $_SESSION["pass_md5"] = "$PASS_MD5";

    Ici je récupére les variables de la page 1
    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
    $CIVILITE = $_POST['civilite'];
    $NOM = $_POST['nom'];
    $PRENOM = $_POST['prenom'];
    $JOUR_DE_NAISSANCE = $_POST['jour_de_naissance'];
    $MOIS_DE_NAISSANCE = $_POST['mois_de_naissance'];
    $ANNE_DE_NAISSANCE = $_POST['anne_de_naissance'];
    $ADRESSE1 = $_POST['adresse1'];
    $ADRESSE2 = $_POST['adresse2'];
    $VILLE = $_POST['ville'];
    $CODE_POSTAL = $_POST['code_postal'];
    $PAYS = $_POST['pays'];
    $EMAIL = $_POST['email'];
    $ADRESSE_IP = $_POST['adresse_ip'];
    $NIVEAU = $_POST['niveau'];
    $DATE_INSCRIPTION = $_POST['date_inscription'];
    $HEURE_INSCRIPTION = $_POST['heure_inscription'];
    Le formulaire
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
     
        <body>
           <p align="center">Espace membre inscription.     
    <p align="center">Veuillez completer ci-dessous les champs. 
    <p align="center">(*) champs obligatoire.
     
            </p>
            <form action="inscription3-3.php" action="envoyer" method='post'>
        <table align="center" border="1" style="width: auto">
          <tbody>
            <tr>
              <td>Civilité<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="civilite" size="30" maxlength="30" value="<?php echo $CIVILITE; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Nom<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="nom" size="30" maxlength="20" value="<?php echo $NOM; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Prènom<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="prenom" size="30" maxlength="20" value="<?php echo $PRENOM; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>date de naissance<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="jour_de_naissance" size="1" maxlength="3" value="<?php echo $JOUR_DE_NAISSANCE; ?> " disabled="disabled"<br /> / <input type="text" name="mois_de_naissance" size="1" maxlength="3" value="<?php echo $MOIS_DE_NAISSANCE; ?> " disabled="disabled"<br /> / <input type="text" name="anne_de_naissance" size="3" maxlength="5" value="<?php echo $ANNE_DE_NAISSANCE; ?> " disabled="disabled"<br /><br />
              </td>
            </tr>
            <tr>
              <td>Adresse<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="adresse1" size="30" maxlength="150" value="<?php echo $ADRESSE1; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Adresse2<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="adresse2" size="30" maxlength="150" value="<?php echo $ADRESSE2; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Code_postal<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="code_postal" size="30" maxlength="40" value="<?php echo $CODE_POSTAL; ?> " disabled="disabled"><br />
              </td>
            </tr>
              <td>Ville<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="ville" size="30" maxlength="40" value="<?php echo $VILLE; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Pays<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="pays" size="30" maxlength="40" value="<?php echo $PAYS; ?> " disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td>Email<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="email" size="30" maxlength="150" value="<?php echo $EMAIL; ?> " disabled="disabled"><br />
              </td>
            </tr>
              <td>Confirmation email<br />
              </td>
              <td><br />
              </td>
              <td><input type="text" name="email_confirm" size="30" maxlength="150" value="<?php echo $EMAIL_CONFIRM; ?> "disabled="disabled"><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="ip" value="<?php echo $adresse_ip ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="niveau" value="<?php echo $niveau ; ?>" size="30" ><input type="submit" name="modifier" value="Modifier"><br />
              </td>
            </tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="date_inscription" value="<?php echo $date ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="heure_inscription" value="<?php echo $heure ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="date_inscription" value="<?php echo $date_inscription ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="HIDDEN" name="heure_inscription" value="<?php echo $heure_inscription ; ?>" size="30" ><br />
              </td>
            </tr>
            <tr>
              <td>Login<br />
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>*</strong>"; ?><br />
              </td>
              <td><input type="text" name="login" size="30" /><br />
              </td>
            </tr>
              <td>Mot de passe<br /> 
              </td>
              <td><?php echo "<align='right' style='color:red;'><strong>*</strong>"; ?><br />
              </td>
              <td><input type="text" name="pass" size="30" /><br />
              </td>
            </tr>
            <tr>
              <td>Confirmation mot de passe <br />
              </td>
              <td><?php echo "<align='left' style='color:red;'><strong>*</strong>"; ?><br />
              </td>
              <td><input type="text" name="pass2" size="30" /><br />
              </td>
            </tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="button" value="page précédente" onclick="javascript:history.back()"><br />
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><input type="reset" value="Effacer"> <input type="submit" name="envoyer" value="Etape 3"><br /> 
              </td>
            </tr>
            <tr>
              <td><br />
              </td>
              <td><br />
              </td>
              <td><br />
              </td>
            </tr>
          </tbody>
        </table>
     
        </body>
    Page 3
    Récupération des variables de seision
    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
    <?php 
     
    session_start();
     
    $civilite = $_SESSION['civilite'];
    $nom = $_SESSION['nom'];
    $prenom = $_SESSION['prenom'];
    $jour_de_naissance = $_SESSION['jour_de_naissance'];
    $mois_de_naissance = $_SESSION['mois_de_naissance'];
    $mois_de_naissance = $_SESSION['mois_de_naissance'];
    $adresse1 = $_SESSION['adresse1'];
    $adresse2 = $_SESSION['adresse2'];
    $code_postal = $_SESSION['code_postal'];
    $ville = $_SESSION['ville'];
    $pays = $_SESSION['pays'];
    $email = $_SESSION['email'];
    $adresse_ip = $_SESSION['adresse_ip'];
    $niveau = $_SESSION['niveau'];
    $date_inscription = $_SESSION['date_inscription'];
    $heure_inscription = $_SESSION['heure_inscription'];
    $email_confirm = $_SESSION['email_confirm'];
    $login = $_SESSION['login'];
    $pass_claire = $_SESSION['pass_claire'];
    $pass = $_SESSION['pass'];
    $pass_md5 = $_SESSION['pass_md5'];
     
    header('Content-Type: text/html; charset=UTF-8');
     
    echo $login;
    echo $pass;
    ?>
    Merci.
    Intel I7 960 | 6 Go Ram | 5 HDD au total 3636 Go | Windows 7 Edition intégral x64 | WampServer 2.0c | Apache 2.2.8 | Php 5.2.6 | MySQL 5.0.51b
    DreamPlug | 512 mo ram | SSD 16 GO | Linux debian 2.6.39.4 | armv5tel | Lamp | PHP 5.3.3-7 | Apache 2.2.16 | Mysql 14.14

Discussions similaires

  1. Garder saisies formulaire sans session ?
    Par zesavantfou dans le forum Langage
    Réponses: 1
    Dernier message: 30/11/2008, 16h42
  2. [PEAR][HTML_QuickForm] Remplir un nouveau formulaire sans fermer la session
    Par Minicodeuse dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 03/09/2008, 11h27
  3. Session sans login!
    Par vivikowski dans le forum Langage
    Réponses: 7
    Dernier message: 09/06/2008, 10h18
  4. Persistance de formulaire sans session
    Par supermanu dans le forum Struts 1
    Réponses: 1
    Dernier message: 19/07/2006, 14h30
  5. Réponses: 12
    Dernier message: 24/09/2003, 15h26

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