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 :

méthode SESSION et inscription formulaire


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Points : 175
    Points
    175
    Par défaut méthode SESSION et inscription formulaire
    Voila le projet. Je dois créer un formulaire en ligne (sans stockage de la donnée). Un internaute doit saisir différentes informations qu'on souhaite répartir en plusieurs étapes.

    1 page : nom / Prénom /adresse ...
    2 page : projet / date /

    la personne saisit la première page, puis clique sur le bouton suivant arrive sur la deuxième page.

    Je souhaitrais inclure un bouton précédente qui permettrait de revenir sur la première page pour corriger d'éventuelles erreurs.

    Sauf que je ne vois pas comment faire.

    quelqu'un peut il m'aiguiller. Merci à tous

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 51
    Points : 32
    Points
    32
    Par défaut
    Tu n'a qu'a utiliser les variables de session :

    sur ta page 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $_SESSION['nom'] = $_POST['nom']; par exemple.
     
    sur ta page 1 :
    if(isset($_SESSION['nom']))
    //Afficher le nom
    else
    //Rien afficher
    Peace.

  3. #3
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Points : 175
    Points
    175
    Par défaut
    ça ne marche pas

    j'avais essayé quelques choses comme ça

    page1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head>
    <title>Page 1</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="page2.php">
      Nom : 
      <input name="nom" type="text" id="nom" value="<?php if(isset($_SESSION['nom'])){ echo $_SESSION['nom']; }else{}?>">
      <input type="submit" name="page2" value="Envoyer">
    </form>
    </body>
    </html>
    page2.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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Page 2</title>
    </head>
     
    <body>
    <?php 
     
    	session_start();
     
    	$_SESSION['nom'] = $_POST['nom'];
     
     
    ?>
    <a href="page1.php">retour</a>
    </body>
    </html>

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Bonjour,

    Moi débutant de première en php viens donner mon grain de sel pour essayer de t'aider!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="nom" type="text" id="nom" value="<?php if(isset($_SESSION['nom'])){ echo $_SESSION['nom']; }else{}?>">
    Est mieux écrit ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="nom" type="text" id="nom" value="<?php if(isset($_SESSION['nom'])) echo $_SESSION['nom']; ?>">
    Et aussi doit être absolument mit au tout début de la page (avant même le code HTML) et dans chacunes des pages concernés par des variables sessions.

    Voila j'espere avoir pu t'aider.

  5. #5
    Membre habitué Avatar de berti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 239
    Points : 175
    Points
    175
    Par défaut
    je viens de modifier des choses : 3 fichiers
    page1.php / page2.php / variable.inc.php
    Le but est après avoir rempli les pages d'imprimer un document. Donc j'ai besoin de stocker les valeurs dans des varibles.

    page1.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
    <?php
     
    include "variable.inc.php";
     
    if (isset($_POST['page2']))
    {
    	$_SESSION['nom'] = $_POST['nom'];		
    	header("Location: page2.php");
    }
     
    if(isset($_SESSION['nom']))
    { 
    	$nom = $_SESSION['nom']; 
    }
    else
    {
    	$nom = "";
    }
    ?>
    <html>
    <head>
    <title>Page 1</title>
    </head>
     
    <body>
    <form name="form1" method="post" action="">
      Nom : 
      <input name="nom" type="text" id="nom" value="<?php echo $nom; ?>">
      <input type="submit" name="page2" value="Envoyer">
    </form>
    </body>
    </html>
    page2.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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Page 2</title>
    </head>
     
    <body>
    <?php 
     
    	include "variable.inc.php";
     
    ?>
    <a href="page1.php">retour</a>
    </body>
    </html>
    variable.inc.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    session_start();
     
    if (isset($_SESSION['nom']))
    {
    	global $nom;
    	$nom=$_SESSION['nom'];
    }
     
    ?>
    Le souci est quand je vous recommencer la saisie, le dernier nom saisi reste dans le champ. Une solution ?

  6. #6
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Je suis pas sur d'avoir compris mais bon.
    Si je me trompe pas, tu stocke dans des variables de session les infos de la page précédent et donc si l'utilisateur fait précédents, tu remplis tes champs avec les variables de session.

    Ton problème là dedans, c'est que si l'utilisateur a soumis son formulaire et qu'il revient dessus les champs sont déjà remplis ?
    Logique vu que les variables de session existent toujours.

    Si c'est bien ça ton problème, une solution toute simple serait de détruire les variables de session une fois le formulaire traité grâce à la fonction unset().

  7. #7
    Membre actif Avatar de el_pedro
    Homme Profil pro
    Inscrit en
    Août 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 200
    Points : 236
    Points
    236
    Par défaut
    Lors de ton impression, met un session_destroy();
    Au prochain session_start(), tes valeurs auront disparues.

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

Discussions similaires

  1. Bonne méthode pour faire un formulaire ?
    Par tiesto95 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 15/03/2009, 18h16
  2. inscription formulaire DOM
    Par mimagyc dans le forum Général JavaScript
    Réponses: 37
    Dernier message: 24/06/2008, 20h45
  3. [MySQL] Question code auto inscription formulaire
    Par dekovince dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/02/2007, 14h45
  4. Méthode session ?
    Par gamel dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 24/07/2006, 17h09
  5. Quelle méthode utiliser pour un formulaire
    Par sam01 dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2006, 16h42

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