Rechercher : dans
Par :

Formulaire sur plusieurs pages

Dernière réponse le 17 mar 2009 à 15:24:34 houba_houbi2, le 17 mar 2009 à 15:14:55 
 Signaler ce message aux modérateurs

Bonjour,

J'essaie de faire une formulaire de commande sur plusieurs pages, exemple :
1 page pour récupérer les infos clients : 1-INFOS.php
1 page pour saisir la commande : 2-CDE.php
1 page pour confirmer la commande envoyée par mail 3-RECAP.php

Voici ce que je viens de faire (ne pas prêter attention aux calculs, pas encore fait! et il y aura plus de champs dans la version définitive, d'où la solution du formulaire sur plusieurs pages) :

1-INFOS.php
<form id="infos_personnelles" method="post" action="2-CDE.php">
<p>
<label>Nom
<input type="text" name="nom" id="nom" />
</label>
</p>
<p>
<label>Prénom
<input type="text" name="prenom" id="prenom" />
</label>
</p>
<p>
<label>Adresse
<input type="text" name="adresse" id="adresse" />
</label>
</p>
<p>
<label>Code postal
<input type="text" name="cp" id="cp" />
</label>
<label>Ville
<input type="text" name="ville" id="ville" />
</label>
</p>
<p>
<label>
<input type="submit" name="suivant1" id="suivant1" value="Suivant" />
</label>
</p>
</form>

2-CDE.php
<form id="Commande" method="post" action="3-RECAP.php">
<!-- récupérer variables précédentes et les conserver -->
<input type="hidden" name="nom" value="<? echo $_POST['nom']?>" />
<input type="hidden" name="prenom" value="<? echo $_POST['prenom']?>" />
<input type="hidden" name="adresse" value="<? echo $_POST['adresse']?>" />
<input type="hidden" name="cp" value="<? echo $_POST['cp']?>" />
<input type="hidden" name="ville" value="<? echo $_POST['ville']?>" />
<table>
<tr>
<td>Désignation</td>
<td>Quantité</td>
<td>PU</td>
<td>Total</td>
</tr>
<tr>
<td>Article A</td>
<td><input type="text" name="QA" id="QA" /></td>
<td>10,00 €
<input name="PUA" type="hidden" value="10" /></td>
<td><input name="TA" type="text" id="TA" value="<? echo "QA*PUA"?>" /></td>
</tr>
<tr>
<td>Article B</td>
<td><input type="text" name="QB" id="QB" /></td>
<td>20,00 €
<input name="PUB" type="hidden" value="20" /></td>
<td><input type="text" name="TB" id="TB" value="<? echo "QB*PUB"?>" /></td>
</tr>
<tr>
<td>Article C</td>
<td><input type="text" name="QC" id="QC" /></td>
<td>30,00 €
<input name="PUC" type="hidden" value="30" /></td>
<td><input type="text" name="TC" id="TC" value="<? echo "QC*PUC"?>" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><strong>Total TTC</strong></td>
<td><strong>
<input type="text" name="TTC" id="TTC" value="<? echo "TA+TB+TC"?>" />
</strong></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Dont TVA 19,6%</td>
<td><input type="text" name="TVA" id="TVA" value="<? echo "TTC/1.196"?>" /></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Total HT</td>
<td><input type="text" name="HT" id="HT" value="<? echo "TTC-TVA"?>" /></td>
</tr>
</table>
<p>
<label>
<input type="submit" name="suivant2" id="suivant2" value="Suivant" />
</label>
</p>
</form>
<p><a href="javascript:history.back()">Retour page précédente</a></p>

3-RECAP.php
<form id="recap" method="post" action"mailto:cathyhouba@yahoo.fr">
<h3>VOS INFOS</h3>
<p>Nom : <? echo $_POST['nom'] ?></p>
<p>Prénom : <? echo $_POST['prenom'] ?></p>
<p>Adresse : <? echo $_POST['adresse'] ?></p>
<p>CP : <? echo $_POST['cp'] ?></p>
<p>Ville : <? echo $_POST['ville'] ?></p>
<br />
<br />
<h3>VOTRE COMMANDE</h3>
<table>
<tr>
<td>Désignation</td>
<td>Qté</td>
<td>PU</td>
<td>Total</td>
</tr>
<tr>
<td>Article A</td>
<td><? echo($_POST['QA']) ?></td>
<td><? echo($_POST['PUA']) ?></td>
<td><? echo($_POST['TA']) ?></td>
</tr>
<tr>
<td>Article B</td>
<td><? echo($_POST['QB']) ?></td>
<td><? echo($_POST['PUB']) ?></td>
<td><? echo($_POST['TB']) ?></td>
</tr>
<tr>
<td>Article C</td>
<td><? echo($_POST['QC']) ?></td>
<td><? echo($_POST['PUC']) ?></td>
<td><? echo($_POST['TC']) ?></td>
</tr>
</table>
<p>POUR UN MONTANT TOTAL <? echo($_POST['TTC']) ?></p>
<br />
<br />
<label>
<input type="submit" name="confirmer" id="confirmer" value="Confirmer votre commande" />
</label>
</form><p><a href="javascript:history.back()">Retour page précédente</a></p>

Le problème : si le client veut modifier une info à la page confirmation et retourne donc sur les pages précédentes via les liens que j'ai mis, une perte des données a lieu en cours de route !
Comment faire pour éviter cela ?
J'ai cherché des infos et une des solutions serait les variables de session, sauf que je n'initie pas de session avec id, mot passe... et j'ai dù mal à comprendre comment ça fonctionne...

Quelqu'un peut m'aider ?
Merci

Configuration: Windows Vista
Firefox 3.0.7

Meilleures réponses pour « formulaire sur plusieurs pages » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...

1

 vincent170186, le 17 mar 2009 à 15:24:34

Bonjour !
une petite astuce met des <input type='hidden'> il n'apparaissent pas mais les information sont quand meme envoyer ! tes lien doivent etre en submit !
pour bien faire tu mets plusieur submit avec des value differente mais le meme nom genre page1 page2 etc !
ensuite tu fait une page php ou tu recupére la value de ton submit
$valuedusubmit=$_POST['nomdusubmit']
et toute (les autres valeur d'ailleur) et tu fait un
if ($valuedusubmit==page1)
{include ("lenomdelapage1.php");
}
elseif ($valuedusubmit==page2)
{include ("lenomdelapage2.php");
}

voila!

Répondre à vincent170186