Enchainer formulaires

Résolu
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013 - 11 juin 2008 à 15:04
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 - 11 juin 2008 à 23:59
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

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 juin 2008 à 23:59
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 ! 
3
dydjy940 Messages postés 79 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 28 juin 2008
11 juin 2008 à 16:25
$_POST[' '];

Je pense que ceci devrez l'aider

et bah oui on ne vas pas te fournir un code tout chaud :O
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 juin 2008 à 16:31
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 ! 
0
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013
11 juin 2008 à 19:14
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
11 juin 2008 à 22:28
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 ! 
0
theseif Messages postés 62 Date d'inscription mercredi 29 août 2012 Statut Membre Dernière intervention 19 mai 2013
11 juin 2008 à 23:33
Je ne veut pas abuser mais je ne connaît pas:
echo <<< ESO
0
Rejoignez-nous