Formulaire sur plusieurs pages
Utilisateur anonyme
-
vincent170186 -
vincent170186 -
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
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
A voir également:
- Formulaire sur plusieurs pages
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Comment supprimer une page sur word - Guide
- Formulaire de reclamation instagram - Guide
- Comment numéroter les pages sur powerpoint - Guide
1 réponse
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!
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!