Enchainer formulaires

[Résolu]
Signaler
Messages postés
62
Date d'inscription
mercredi 29 août 2012
Statut
Membre
Dernière intervention
19 mai 2013
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour à tous, je cherche un script exemple pour ecrire quelque chose comme ça:
- formulaire n°1 qui pose 6 questions, 3 réponses nécessaires;
- formulaire n°2 reprise des 3 réponses et 4 nouvelles questions;
- Formulaire n°3 reprise des 7 réponses précédente et 4 nouvelles questions.
Le tout sans base de données.

Pour résumer, je voudrais enchainer 3 formulaires en conservant les réponses d'un formulaire à l'autre et pas de BD.

Merci d'avance pour votre aide.

6 réponses

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Euh, echo <<< EOS
ESO;
est comme un echo normal, sauf qu'il respecte la mise en forme (tabulations, retours à la ligne, ...)
On peut très bien le remplacé par echo '...'; (en faisant attention au ' et aux variables)
<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
79
Date d'inscription
mardi 28 novembre 2006
Statut
Membre
Dernière intervention
28 juin 2008

$_POST[' '];

Je pense que ceci devrez l'aider

et bah oui on ne vas pas te fournir un code tout chaud :O
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Salut,

Le meilleur moyen est d'utiliser les $_POST, avec pourquoi pas des $_SESSION.

Donc un premier temps, tu fais un formulaire (n°1)
Tu récupère les réponses grâce au $_POST, puis tu enregistre dans $_SESSION (ou alors, tu met les resultats dans un ).
Et tu recommence avec le n°2 et n°3

<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
62
Date d'inscription
mercredi 29 août 2012
Statut
Membre
Dernière intervention
19 mai 2013

Merci pour ta réponse, je ne cherche pas un code tout chaud mais un exemple dans les scripts à télécharger sur le site. J'ai trouvé des post concernant $_post ou $_session mais j'ai du mal à les utiliser pour organiser mon script.
Encore merci car je patauge.
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Hum,
Voila un petit script que j'ai fait, tu peux t'en servir comme exemple

<?php

// obligatoire si on utilise le système de session

session_start();

$_etapes = isset($_POST['etape']) ? intval($_POST['etape']) : null;

// sauvegarde dans le SESSION (ne pas oublier le session_start(); )
à chaque envoie d'un formulaire
if( isset($_POST) )

{

    foreach( $_POST as $key => $val )

    {

        $_SESSION['post'][$key] = $val;

    }

}

// Voici les différentes étapes du formulaire

switch( $_etapes )

{

    // étape n° 2 (mettre en dernier l'étape par défaut, car sinon, le script est executé tout de suite)

    // Ou faire les étapes dans l'ordre (1, 2, 3, 4, ...) et mettre en dernier un message de présentation du formulaire (vous allez à présent ...)

    case 2 :

        $form11 = htmlspecialchars($_POST['form11']);

        // On appel la variable _POST form11, et on protege

        // -> on affiche form11

        echo <<< ESO

<form action="" method="POST">

 

  <label>Form 1.1 :</label>

  {$form11}" />

 



 

  <label>Form 1.2 :</label>

  

 



 

  <label>Form 1.3 :</label>

  form 1.3

 



 

 

 

</form>

ESO;

        break;

        // Etape n° 3

    case 3 :

        $form11 = htmlspecialchars($_POST['form11']);

        $form12 = htmlspecialchars($_POST['form12']);

        // On appel la variable _POST form11 &amp; form12, et on protege

        // -> on affiche form11 &amp; form12

        echo <<< ESO

<form action="" method="POST">

 

  <label>Form 1.1 :</label>

  {$form11}" />

  {$form11}
  

  transmition en HIDDEN. Simple affichage en text clair. A noté que si l'on utilise les _SESSION, ce n'est plus la peine de s'occuper des formulaires envoyés : ils sont automatiquements sauvegardés

 



 

  <label>Form 1.2 :</label>

  {$form12}" />

 



 

  <label>Form 1.3 :</label>

  

 



 

 

 

</form>

ESO;

        break;

    case 4 :

        echo 'Fin du formulaire<hr />';

        echo 'En SESSION : ';

        if( isset($_SESSION['post']) )

        {

            echo '';

            print_r($_SESSION['post']);

            echo '

';

        }

        echo '<hr />En POST :';

        if( isset($_POST) )

        {

            echo '';

            print_r($_POST);

            echo '

';

        }

        break;

        // Etape n° 1

    case 1 :

        // ici, c'est aussi l'étape par defaut

    default :

        echo <<< ESO

<form action="" method="POST">

 

  <label>Form 1.1 :</label>

  

 



 

  <label>Form 1.2 :</label>

  form 1.2

 



 

  <label>Form 1.3 :</label>

  form 1.3

 



 

 

 

</form>

ESO;

        // A noté, le "  " qui permet d'incrémenté les étapes

        break;

}

// Debugage --> affichage des variables sauvegardées dans _SESSION

if( isset($_SESSION['post']) )

{

    echo '<hr />';

    print_r($_SESSION['post']);

    echo '

';

}

?>


<hr />Si ma reponse te convient, merci de l'accepter ! 
Messages postés
62
Date d'inscription
mercredi 29 août 2012
Statut
Membre
Dernière intervention
19 mai 2013

Je ne veut pas abuser mais je ne connaît pas:
echo <<< ESO