formulaire multi étapes et non récupération de variables

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire multi étapes et non récupération de variables

Re: formulaire multi étapes et non récupération de variables

par piotrowski-s » 28 mars 2012, 15:50

finalement je suis passé par jquerry :)

merci pour votre aide.

Re: formulaire multi étapes et non récupération de variables

par xTG » 28 mars 2012, 11:37

Relis mes messages, je t'ai indiqué un moyen => Javascript ;)

Re: formulaire multi étapes et non récupération de variables

par piotrowski-s » 28 mars 2012, 07:58

mais donc il n'y a aucun moyen de pouvoir moduler l'affichage de mon formulaire sans l'envoyer? je voulais juste que si l'on sélectionne un bouton radio ou l'autre, la suite soit différente.

Re: formulaire multi étapes et non récupération de variables

par xTG » 27 mars 2012, 16:20

Si tes conditions en PHP sont là pour afficher un texte à une étape du formulaire elles ne seront pas exécutées telles que tu l'entends puisque l'étape précédent n'a pas été envoyée au serveur.
Le serveur ne reçoit que les données en un seul bloc et c'est le javascript qui s'occupe de t'afficher les étapes une à une.

Re: formulaire multi étapes et non récupération de variables

par piotrowski-s » 27 mars 2012, 14:45

donc tu coup je dois aussi lâcher les conditions en php?

Re: formulaire multi étapes et non récupération de variables

par xTG » 27 mars 2012, 12:26

Ah oki je vois donc déjà mieux tes essais de condition PHP... Je cerne donc mieux le problème, ce n'est pas un problème de transmission puisque le formulaire n'est pas transmis justement (seulement à la dernière étape).
Le souci c'est que vu que c'est du javascript qui passe d'une étape à une autre il faudra le faire en javascript et non en PHP.
Il y a des exemples de fonctions appelées lors de la soumission de chaque partie sur le site de l'auteur : http://www.jankoatwarpspeed.com/post/20 ... query.aspx
Tu peux donc insérer ton code JS dedans.

Re: formulaire multi étapes et non récupération de variables

par piotrowski-s » 27 mars 2012, 11:33

le soucis c'est que tout est sur la même page, à savoir que le bouton de validation n'est qu'à la fin, ce script découpe en plusieurs étape, mais les données ne sont pas transmises. Je ne sais pas comment l'adapter, car j'ai besoin de moduler mon formulaire en fonction des desiderata des clients c'est à dire que selon ce que l'on selectionne sur la première page la suite ne sera pas la même.

Re: formulaire multi étapes et non récupération de variables

par xTG » 27 mars 2012, 11:28

Soit tu stockes les informations dans le tableau de session : http://phpdebutant.org/article69.php
Soit tu créés des input de type hidden pour faire la propagation des données.

Après il est possible que cela soit plus un problème JS que HTML.
Je vois que tu utilises un script qui t'automatise le multi-étapes en JS. Il serait bon de regarder leur documentation pour voir s'il n'y a pas un bug ou une astuce concernant ce point.

formulaire multi étapes et non récupération de variables

par piotrowski-s » 27 mars 2012, 11:15

Bonjour à tous, je créé un formulaire multi étapes, le soucis étant que lorsque que je passe à une étape suivant, il ne me récupère pas la variable et je ne sais pas comment procéder du coup.

voici le code
<html>
<head>
<title>. : : Créer un compte - Client : : .</title>
 <style type="text/css">
        body { font-family:Lucida Sans, Arial, Helvetica, Sans-Serif; font-size:13px; margin:20px;}
        #main { width:960px; margin: 0px auto; border:solid 1px #b2b3b5; -moz-border-radius:10px; padding:20px; background-color:#f6f6f6;}
        #header { text-align:center; border-bottom:solid 1px #b2b3b5; margin: 0 0 20px 0; }
        fieldset { border:none; width:320px;}
        legend { font-size:18px; margin:0px; padding:10px 0px; color:#b0232a; font-weight:bold;}
        label { display:block; margin:15px 0 5px;}
        input[type=text], input[type=password] { width:300px; padding:5px; border:solid 1px #000;}
        .prev, .next { background-color:#b0232a; padding:5px 10px; color:#fff; text-decoration:none;}
        .prev:hover, .next:hover { background-color:#000; text-decoration:none;}
        .prev { float:left;}
        .next { float:right;}
        #steps { list-style:none; width:100%; overflow:hidden; margin:0px; padding:0px;}
        #steps li {font-size:24px; float:left; padding:10px; color:#b0b1b3;}
        #steps li span {font-size:11px; display:block;}
        #steps li.current { color:#000;}
        #makeWizard { background-color:#b0232a; color:#fff; padding:5px 10px; text-decoration:none; font-size:18px;}
        #makeWizard:hover { background-color:#000;}
    </style>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
    <script type="text/javascript" src="formtowizard.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("#SignupForm").formToWizard({ submitButton: 'SaveAccount' })
        });
    </script>
<meta name="generator" content="Namo WebEditor(Trial)">
</head>
<body>
<div id="main">
<div id="header"></div>
<form id="SignupForm" action="save-client.php" method="post">
    <fieldset>
    <LEGEND> Informations générales</LEGEND>
    <label for="code_client"><b><font size="2" face="Verdana">Code Client:</label>
	<input type="text" id="code_client">
    <label for="categorie">Catégorie:</label>
	</font></b><select id="categorie"><option>Personne morale</option><option>Personne physique</option></select>
    </fieldset>
    <fieldset>
	  <LEGEND> Informations légales</LEGEND>
	  <?php if (isset($_POST['categorie']) AND $_POST['categorie']=="Personne morale") { ?>c'est une personne morale 
	  <?php } elseif (isset($_POST['categorie']) AND $_POST['categorie']=="Personne physique") { ?>C'est une personne physique <?php } ?>
    <-- input fields -->
    </fieldset>
    <fieldset>
    <-- input fields -->
    </fieldset>
    <fieldset>
    <-- input fields -->
    </fieldset>
    <fieldset>
    <-- input fields -->
    </fieldset>
    <fieldset>
    <-- input fields -->
    </fieldset>
    <fieldset>
    <-- input fields -->
    </fieldset>
    <fieldset>
    <-- input fields -->
    </fieldset>
	        <p>
            <input id="saveaccount" type="button" value="submit form" />
        </p>
        </form>
</form></div>
</body>
</html>

d'avance merci pour votre aide.

PS: (il y a un Js, qui génère et affiche les boutons avant / après le cas échéant.