begin process at 2012 05 30 23:10:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Enchainer formulaires


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enchainer formulaires

mercredi 11 juin 2008 à 15:04:44 | Enchainer formulaires

theseif

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.
mercredi 11 juin 2008 à 16:25:36 | Re : Enchainer formulaires

dydjy940

$_POST['    '];

Je pense que ceci devrez l'aider

et bah oui on ne vas pas te fournir un code tout chaud :O
mercredi 11 juin 2008 à 16:31:53 | Re : Enchainer formulaires

JoJo738

Membre Club
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 <input type="hidden" ... />).
Et tu recommence avec le n°2 et n°3


Si ma reponse te convient, merci de l'accepter ! 
mercredi 11 juin 2008 à 19:14:00 | Re : Enchainer formulaires

theseif

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.
mercredi 11 juin 2008 à 22:28:23 | Re : Enchainer formulaires

JoJo738

Membre Club
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 :
        
$form11 htmlspecialchars($_POST['form11']);
        
// On appel la variable _POST form11, et on protege
        // -> on affiche form11
        
echo <<< ESO
<form action="" method="POST">
 <p>
  <label>Form 1.1 :</label>
  <input type="text" name="form11" value="
{$form11}" />
 </p>
 <p>
  <label>Form 1.2 :</label>
  <input type="text" name="form12" value="form 1.2" />
 </p>
 <p>
  <label>Form 1.3 :</label>
  form 1.3
 </p>
 
 <input type="hidden" name="etape" value="3" />
 <input type="submit" value="1 - Suivant" />
</form>
ESO;
        break;

        
// Etape n° 3
    
case :
        
$form11 htmlspecialchars($_POST['form11']);
        
$form12 htmlspecialchars($_POST['form12']);
        
// On appel la variable _POST form11 & form12, et on protege
        // -> on affiche form11 & form12

        
echo <<< ESO
<form action="" method="POST">
 <p>
  <label>Form 1.1 :</label>
  <input type="hidden" name="form11" value="
{$form11}" />
 
{$form11}
  <br />
  <em>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
 </p>
 <p>
  <label>Form 1.2 :</label>
  <input type="text" name="form12" value="
{$form12}" />
 </p>
 <p>
  <label>Form 1.3 :</label>
  <input type="text" name="form13" value="form 1.3" />
 </p>
 
 <input type="hidden" name="etape" value="4" />
 <input type="submit" value="1 - Suivant" />
</form>
ESO;
        break;

    case 
:
        echo 
'Fin du formulaire<hr />';
        echo 
'En SESSION : ';
        if( isset(
$_SESSION['post']) )
        {
            echo 
'<pre>';
            
print_r($_SESSION['post']);
            echo 
'</pre>';
        }
        echo 
'<hr />En POST :';
        if( isset(
$_POST) )
        {
            echo 
'<pre>';
            
print_r($_POST);
            echo 
'</pre>';
        }
        break;

        
// Etape n° 1
    
case :
        
// ici, c'est aussi l'étape par defaut
    
default :
        echo <<< ESO
<form action="" method="POST">
 <p>
  <label>Form 1.1 :</label>
  <input type="text" name="form11" value="form 1.1" />
 </p>
 <p>
  <label>Form 1.2 :</label>
  form 1.2
 </p>
 <p>
  <label>Form 1.3 :</label>
  form 1.3
 </p>
 
 <input type="hidden" name="etape" value="2" />
 <input type="submit" value="1 - Suivant" />
</form>
ESO;
        
// A noté, le " <input type="hidden" name="etape" value="2" /> " qui permet d'incrémenté les étapes
        
break;
}

// Debugage --> affichage des variables sauvegardées dans _SESSION
if( isset($_SESSION['post']) )
{
    echo 
'<hr /><pre>';
    
print_r($_SESSION['post']);
    echo 
'</pre>';
}

?>



Si ma reponse te convient, merci de l'accepter ! 
mercredi 11 juin 2008 à 23:33:40 | Re : Enchainer formulaires

theseif

Je ne veut pas abuser mais je ne connaît pas:
echo <<< ESO
mercredi 11 juin 2008 à 23:59:57 | Re : Enchainer formulaires

JoJo738

Membre Club
Réponse acceptée !
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)

Si ma reponse te convient, merci de l'accepter ! 


Cette discussion est classée dans : formulaire, questions, formulaires, réponses, enchainer


Répondre à ce message

Sujets en rapport avec ce message

Pour les formulaires php... [ par railyandtiti ] Je sais désormais créer un formulaire en php, mais y a un ptit truc ki me manke :J'aimerais faire un formulaire ki tiendrait sur 2 ou 3 pages. Il faut un Form dans un Form [ par stailer ] Salut tout le monde !Donc voila mon problème :J'ai un formulaire qui contient notamment un champ et une liste déroulante.Lorsque je valide 1 de ces ch problème avec les formulaires [ par Lissena ] Salut, est ce que quelqu'un peut m'aider??? J'ai un problème avec mes formulaires. Lorsque mon formulaire est petit (environ 30 champs) j'arrive à ins Des formulaires par mail? [ par stroubinou ] Bonjour J'aurais besoin d'envoyer des mails contenant un formulaire (champs cachés et submit )... Quand j'envoie le mail, le formulaire s'affiche, tou formulaires [ par eax ] salutj'ai un pb avec un formulaire:je voulais savoir si il est possible d'envoyer un formulaire en cliquant sur le bouton SUBMIT qui est dans un AUTRE formulaire, compteur de réponses, base de donnée. [ par decaPeter ] Bonjour :) ca fait plusieurs jours que je m'arache les cheveux à essayer de faire un mini moteur de recherche qui requete dans une base de donnée SQL Deux formulaires dans une seulle page php [ par sensosofttunisiee ] Salut,j'ai une page php qui contient deux formulaires alors deux bouton "submit" et deux actions , j'ai des fonctions javascript pour chaque formulair Formulaires maitre/détail en php [ par amewole ] A partir d'un formulaire 'maitre' possédant une liste déroulante alimentée par une requête sql  sur une table client je voudrais afficher un autre for Formulaires, sortie élégante [ par guinnessboy ] Bonjour, je cherche un moyen de sortir de manière éléganter du traitement d'un formulaire.     Situation : la page contact du site affiche un formulai formulaires [ par mathieu_74 ] bonjour à tous et toutes! j'ai un projet a réaliser et j'ai un pti souci technique... ça consiste à recuperer les données d'un formulaire et les trait


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,421 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales