Formulaire de 2 pages

Bonjour,
je voudrais créer un formulaire html/php qui contient 2 pages ou plus...
le principe c'est de pouvoir remplir la 1ere page, et cliquer sur suivant , remplir la 2ème page, et après cliquer sur envoyer...
merci d'avance
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Champ c'est ... un champs de formulaire (input par exemple).

    Page 1
    <form method="post" action="page2.php">
      <fieldset>
        <input type="text" name="champ1" value="Contenu du champ 1" />
        <input type="text" name="champ2" value="Contenu du champ 2" />
    
        <input type="submit" value="Suivante" />
      </fieldset>
    </form>


    Page 2 (avec session_start(); )
    <?php
    $_SESSION['champ1'] = $_POST['champ1'];
    $_SESSION['champ2'] = $_POST['champ2'];
    ?>
    <form method="post" action="page3.php">
      <fieldset>
        <input type="text" name="champ3" value="Contenu du champ 3" />
        <input type="text" name="champ4" value="Contenu du champ 4" />
    
        <input type="submit" value="Suivante" />
      </fieldset>
    </form>


    Page 3 (avec session_start(); )
    <?php
    echo '<p>';
    
    //On va d'abord affiché les champs 1 et 2 qui sont dans $_SESSION
    echo 'Valeur du champ 1 : '.$_SESSION['champ1'].'<br/>';
    echo 'Valeur du champ 2 : '.$_SESSION['champ2'].'<br/>';
    
    //Maintenant on affiche les champs 3 et 4 de la page précédente qui sont dans $_POST
    echo 'Valeur du champ 3 : '.$_POST['champ3'].'<br/>';
    echo 'Valeur du champ 4 : '.$_POST['champ4'].'<br/>';
    
    echo '</p>';
    ?>


    Télécharger l'exemple
    0
    1. Au debut de chaque page, insérer <?php session_start(); ?> (vraiment au tout début, avant le DocType).
      <?php
      session_start();
      ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
      ...


      Ensuite, après sur la page du deuxième formulaire :
      <?php
       $_SESSION['champ1'] = $_POST['champ1'];
       $_SESSION['champ2'] = $_POST['champ2'];
      ?>
      


      Puis dans la page finale :
      <?php
      echo '<p>Champ 1 : '.$_SESSION['champ1'].'<br/>
      Champ 2 : '.$_SESSION['champ2'].'<br/>
      Champ 3 : '.$_POST['champ3'].'<br/></p>'; // A partir de la, on reprend les champs de la page précédente qui sont stocké dans $_POST
      ?>

      Ce n'était qu'un exemple.

      Pour information, tu peux aussi utiliser des champs caché dans la deuxième page qui contiennent la valeur avec $_POST.
      0
      1. est ce que tu peut me donner un petit exemple...j'ai pas bien compris "champs"
        0
    2. et comment fait-on avec les sessions?
      0
      1. Bonjour.

        Personnellement, j'utiliserai tout bêtement les sessions en PHP.

        Bonne chance, en espérant t'avoir mis sur la bonne piste.
        0