Comment garder en mémoire les données d'un formulaire en PHP
Résolu/Fermé
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
-
7 févr. 2022 à 10:08
fabi00 Messages postés 82 Date d'inscription vendredi 4 février 2022 Statut Membre Dernière intervention 18 mars 2022 - 8 févr. 2022 à 12:15
fabi00 Messages postés 82 Date d'inscription vendredi 4 février 2022 Statut Membre Dernière intervention 18 mars 2022 - 8 févr. 2022 à 12:15
A voir également:
- Comment garder en mémoire les données d'un formulaire en PHP
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Formulaire de réclamation facebook - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mémoire vive - Guide
- Formulaire de contact le bon coin introuvable ✓ - Forum Réseaux sociaux
4 réponses
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
Ambassadeur
1 554
7 févr. 2022 à 13:22
7 févr. 2022 à 13:22
bonjour,
cela a été récemment discuté sur ce forum.
je pense que tu trouveras rapidement la réponse en examinant les discussions de ces dernières semaines.
cela a été récemment discuté sur ce forum.
je pense que tu trouveras rapidement la réponse en examinant les discussions de ces dernières semaines.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
7 févr. 2022 à 14:02
7 févr. 2022 à 14:02
Bonjour,
Pour les textarea, c'est comme pour tes inputs sauf qu'au lieu de le mettre dans un attribut VALUE tu le place directement dans la balise
Pour les listes, il faut regarder pour chaque "option" si elle correspond à la valeur selectionnée et si oui, la définir en tant que selected
D'ailleurs, il serait bien d'ajouter l'attribut VALUE à tes "options"
Pour les textarea, c'est comme pour tes inputs sauf qu'au lieu de le mettre dans un attribut VALUE tu le place directement dans la balise
<textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> $tavariable </textarea>
Pour les listes, il faut regarder pour chaque "option" si elle correspond à la valeur selectionnée et si oui, la définir en tant que selected
D'ailleurs, il serait bien d'ajouter l'attribut VALUE à tes "options"
<?php $client = !empty($_POST['client']) ? $_POST['client']: NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client=="Particulier" ? "selected='selected' " : "" ;?>>Particulier</option> <option value="Entreprise" <?php echo $client=="Entreprise" ? "selected='selected' " : "" ;?>>Entreprise</option> <option value="Autre" <?php echo $client=="Autre" ? "selected='selected' " : "" ;?>>Autre</option> </select>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
Modifié le 7 févr. 2022 à 14:37
Modifié le 7 févr. 2022 à 14:37
AH super ! C'est intéressant et ça règle quelques problèmes, MERCI.
Cependant, je viens de me rendre compte d'une autre chose. Quand je vais sur le formulaire en arrière et que je retourne sur celui d'avant il n'est pas gardé en mémoire. Il existerait une solution face à ça ?
Cependant, je viens de me rendre compte d'une autre chose. Quand je vais sur le formulaire en arrière et que je retourne sur celui d'avant il n'est pas gardé en mémoire. Il existerait une solution face à ça ?
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
7 févr. 2022 à 15:06
7 févr. 2022 à 15:06
Nous as-tu montré tout ton code?
"aller en arrière": comment fais-tu?
Il est probable qu'il soit utile de mémoriser les informations dans des variables de session.
"aller en arrière": comment fais-tu?
Il est probable qu'il soit utile de mémoriser les informations dans des variables de session.
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
Modifié le 7 févr. 2022 à 15:46
Modifié le 7 févr. 2022 à 15:46
C'est lorsque j'appuie sur le submit "précédent" pour aller en arrière (le formulaire précédent) ou lorsque j'appuie sur le submit "suivant" pour aller en avant (le formulaire suivant).
Oui pardon, je n'ai pas mis mon code PHP.
Oui pardon, je n'ai pas mis mon code PHP.
<?php //On démarre une nouvelle session session_start(); //Formulaire 1 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; //Si on ne sélectionne pas une quantité if($quantite == false){ $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; } else{ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } } //Formulaire 2 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant1'])){ //On récupère les données dans $_POST $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; $fichier=$_POST['fichier']; // On va sur le formulaire 3 header('Location: #demo3'); //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; $_SESSION['fichier'] = $fichier; } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour1'])){ // On va sur la formulaire 1 header('Location: #demo1'); die(); } //Formulaire 3 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant2'])){ //On récupère les données dans $_POST $prenom=$_POST['prenom']; $nom=$_POST['nom']; $email=$_POST['email']; $telephone=$_POST['telephone']; $client=$_POST['client']; $precision=$_POST['precision']; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['client'] = $client; $_SESSION['precison'] = $precision; if($prenom == false || $nom == false || $email == false || $telephone == false){ $afficheErreur2 = "<h4>Veuillez compléter les champs obligatoires *</h4>"; } else{ header('Location: recupDataTest.php'); } } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour2'])){ // On va sur la page "index.php" header('Location: #demo2'); die(); } <!DOCTYPE htlm> <html lang="fr"> <head> <meta charset="utf-8"/> <meta http-equiv="X_UA-Compatible" content="IE=edge"> <title>Formulaire de devis</title> <style> #quantite{ width:3.5em; } select option[value="bleu"]{ background: blue; } select option[value="rouge"]{ background: red; } select option[value="vert"]{ background: green; } h4{ color: red; } a { text-decoration: none; padding: 15px; background-color: white; border-radius: 5px; text-transform: uppercase; color: black; border: solid black; } a:hover{ background-color: black; color: white; } .modal1 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal1:target { visibility: visible; opacity: 1; } .modal_content1 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close1 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } .modal2 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal2:target { visibility: visible; opacity: 1; } .modal_content2 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close2 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } .modal3 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal3:target { visibility: visible; opacity: 1; } .modal_content3 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close3 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } </style> </head> <body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form action="" method="post"> <p> <?php $modele = !empty($_POST['modele']) ? $_POST['modele']: NULL; ?> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option value="T-shirts" <?php echo $modele=="T-shirts" ? "selected='selected' " : "" ;?>>T-shirts</option> <option value="Sweat-shirts" <?php echo $modele=="Sweat-shirts" ? "selected='selected' " : "" ;?>>Sweat-shirts</option> <option value="Pulls" <?php echo $modele=="Pulls" ? "selected='selected' " : "" ;?>>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" min="10" value="<?php if (isset($_POST['quantite'])){echo $_POST['quantite'];} ?>"/> <br></br> </p> <p> <?php $taille = !empty($_POST['taille']) ? $_POST['taille']: NULL; ?> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option value="XS" <?php echo $taille=="XS" ? "selected='selected' " : "" ;?>>XS</option> <option value="S" <?php echo $taille=="S" ? "selected='selected' " : "" ;?>>S</option> <option value="M" <?php echo $taille=="M" ? "selected='selected' " : "" ;?>>M</option> <option value="L" <?php echo $taille=="L" ? "selected='selected' " : "" ;?>>L</option> <option value="XL" <?php echo $taille=="XL" ? "selected='selected' " : "" ;?>>XL</option> </select> <?php $couleur = !empty($_POST['couleur']) ? $_POST['couleur']: NULL; ?> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu" <?php echo $couleur=="bleu" ? "selected='selected' " : "" ;?>>bleu</option> <option value="rouge" <?php echo $couleur=="rouge" ? "selected='selected' " : "" ;?>>rouge</option> <option value="vert" <?php echo $couleur=="vert" ? "selected='selected' " : "" ;?>>vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur1)){ echo $afficheErreur1; } ?> </form> <div class="fermer"> <a href="#" class="modal_close1">×</a> </div> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <p> <?php $qualite = !empty($_POST['qualite']) ? $_POST['qualite']: NULL; ?> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option value="Promotionnel/1er prix" <?php echo $qualite=="Promotionnel/1er prix" ? "selected='selected' " : "" ;?>>Promotionnel/1er prix</option> <option value="Meilleur rapport qualité / prix" <?php echo $qualite=="Meilleur rapport qualité / prix" ? "selected='selected' " : "" ;?>>Meilleur rapport qualité / prix</option> <option value="Haut de gamme" <?php echo $qualite=="Haut de gamme" ? "selected='selected' " : "" ;?>>Haut de gamme</option> </select> </p> <p> <?php $zone = !empty($_POST['zone']) ? $_POST['zone']: NULL; ?> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option value="Coeur" <?php echo $zone=="Coeur" ? "selected='selected' " : "" ;?>>Coeur</option> <option value="Dos" <?php echo $zone=="Dos" ? "selected='selected' " : "" ;?>>Dos</option> <option value="Manche" <?php echo $zone=="Manche" ? "selected='selected' " : "" ;?>>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <?php $impression = !empty($_POST['impression']) ? $_POST['impression']: NULL; ?> <select name="impression" id="impression"> <option value="DTG" <?php echo $impression=="DTG" ? "selected='selected' " : "" ;?>>DTG</option> <option value="Transfert quadri" <?php echo $impression=="Transfert quadri" ? "selected='selected' " : "" ;?>>Transfert quadri</option> <option value="Sérigraphie" <?php echo $impression=="Sérigraphie" ? "selected='selected' " : "" ;?>>Sérigraphie</option> <option value="Flex Flock" <?php echo $impression=="Flex Flock" ? "selected='selected' " : "" ;?>>Flex Flock</option> <option value="Broderie" <?php echo $impression=="Broderie" ? "selected='selected' " : "" ;?>>Broderie</option> <option value="Sublimation" <?php echo $impression=="Sublimation" ? "selected='selected' " : "" ;?>>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <input type="file" id="fichier" name="fichier" accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg"> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> <a href="#" class="modal_close2">×</a> </div> </div> <!--Formulaire 3 --> <div id="demo3" class="modal3"> <div class="modal_content3"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Informations et précisions</h2> <form action="" method="post"> <p> <input type="text" name="prenom" id="prenom" placeholder="prénom*" value ="<?php if (isset($_POST['prenom'])){echo $_POST['prenom'];} ?>"/> <input type="text" name="nom" id="nom" placeholder="Nom*" value ="<?php if (isset($_POST['nom'])){echo $_POST['nom'];} ?>"/> <input type="email" name="email" id="email" size="30" placeholder="Adresse mail*" value ="<?php if (isset($_POST['email'])){echo $_POST['email'];} ?>"/> </p> <p> <input type="tel" id="telephone" name="telephone" placeholder="Téléphone*" value ="<?php if (isset($_POST['telephone'])){echo $_POST['telephone'];} ?>"/> <?php $client = !empty($_POST['client']) ? $_POST['client']: NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client=="Particulier" ? "selected='selected' " : "" ;?>>Particulier</option> <option value="Entreprise" <?php echo $client=="Entreprise" ? "selected='selected' " : "" ;?>>Entreprise</option> <option value="Autre" <?php echo $client=="Autre" ? "selected='selected' " : "" ;?>>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> <?php if (isset($_POST['precision'])){echo $_POST['precision'];} ?> </textarea> </p> <p> <input type="submit" name="retour2" value="Précèdent"/> <input type="submit" name="suivant2" value="Envoyer"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur2)){ echo $afficheErreur2; } ?> </form> <a href="#" class="modal_close3">×</a> </div> </div> </body> </html> ?>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
7 févr. 2022 à 15:54
7 févr. 2022 à 15:54
les deux codes sont dans la même page? Il serait plus clair de nous montrer le contenu complet de la page.
Dans quel but sauves-tu les données dans des variables de session, sans jamais utiliser ces variables?
A titre d'exemple, tu mémorises le prénom dans une variable de session, puis-tu n'en fait jamais rien.
A quel moment souhaites-tu utiliser ensuite le prénom?
Dans quel but sauves-tu les données dans des variables de session, sans jamais utiliser ces variables?
A titre d'exemple, tu mémorises le prénom dans une variable de session, puis-tu n'en fait jamais rien.
A quel moment souhaites-tu utiliser ensuite le prénom?
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
7 févr. 2022 à 16:13
7 févr. 2022 à 16:13
Oui les deux codes sont dans la même page.
En fait tout est dans une seule page "index .php" Il y a trois formulaires qui s'affichent grâce à trois fenêtres modales qui s'ouvrent en fonction de quand on va en arrière ou en avant. (du formulaire 1 à 3)
Voici le contenu complet...
Et alors je fais des variables de sessions justes pour faire un test sur une autre page, histoire de voir si je récupère bien toutes les données.
je récupère tout ça sur une autre page "recupDataTest php"....
En fait tout est dans une seule page "index .php" Il y a trois formulaires qui s'affichent grâce à trois fenêtres modales qui s'ouvrent en fonction de quand on va en arrière ou en avant. (du formulaire 1 à 3)
Voici le contenu complet...
<?php //On démarre une nouvelle session session_start(); //Formulaire 1 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite; //Si on ne sélectionne pas une quantité if($quantite == false){ $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; } else{ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } } //Formulaire 2 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant1'])){ //On récupère les données dans $_POST $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; $fichier=$_POST['fichier']; // On va sur le formulaire 3 header('Location: #demo3'); //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; $_SESSION['fichier'] = $fichier; } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour1'])){ // On va sur la formulaire 1 header('Location: #demo1'); die(); } //Formulaire 3 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant2'])){ //On récupère les données dans $_POST $prenom=$_POST['prenom']; $nom=$_POST['nom']; $email=$_POST['email']; $telephone=$_POST['telephone']; $client=$_POST['client']; $precision=$_POST['precision']; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['client'] = $client; $_SESSION['precison'] = $precision; if($prenom == false || $nom == false || $email == false || $telephone == false){ $afficheErreur2 = "<h4>Veuillez compléter les champs obligatoires *</h4>"; } else{ header('Location: recupDataTest.php'); } } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour2'])){ // On va sur la page "index.php" header('Location: #demo2'); die(); } ?> <!DOCTYPE htlm> <html lang="fr"> <head> <meta charset="utf-8"/> <meta http-equiv="X_UA-Compatible" content="IE=edge"> <title>Formulaire de devis</title> <style> #quantite{ width:3.5em; } select option[value="bleu"]{ background: blue; } select option[value="rouge"]{ background: red; } select option[value="vert"]{ background: green; } h4{ color: red; } a { text-decoration: none; padding: 15px; background-color: white; border-radius: 5px; text-transform: uppercase; color: black; border: solid black; } a:hover{ background-color: black; color: white; } .modal1 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal1:target { visibility: visible; opacity: 1; } .modal_content1 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close1 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } .modal2 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal2:target { visibility: visible; opacity: 1; } .modal_content2 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close2 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } .modal3 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal3:target { visibility: visible; opacity: 1; } .modal_content3 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close3 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } </style> </head> <body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form action="" method="post"> <p> <?php $modele = !empty($_POST['modele']) ? $_POST['modele']: NULL; ?> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option value="T-shirts" <?php echo $modele=="T-shirts" ? "selected='selected' " : "" ;?>>T-shirts</option> <option value="Sweat-shirts" <?php echo $modele=="Sweat-shirts" ? "selected='selected' " : "" ;?>>Sweat-shirts</option> <option value="Pulls" <?php echo $modele=="Pulls" ? "selected='selected' " : "" ;?>>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" min="10" value="<?php if (isset($_POST['quantite'])){echo $_POST['quantite'];} ?>"/> <br></br> </p> <p> <?php $taille = !empty($_POST['taille']) ? $_POST['taille']: NULL; ?> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option value="XS" <?php echo $taille=="XS" ? "selected='selected' " : "" ;?>>XS</option> <option value="S" <?php echo $taille=="S" ? "selected='selected' " : "" ;?>>S</option> <option value="M" <?php echo $taille=="M" ? "selected='selected' " : "" ;?>>M</option> <option value="L" <?php echo $taille=="L" ? "selected='selected' " : "" ;?>>L</option> <option value="XL" <?php echo $taille=="XL" ? "selected='selected' " : "" ;?>>XL</option> </select> <?php $couleur = !empty($_POST['couleur']) ? $_POST['couleur']: NULL; ?> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu" <?php echo $couleur=="bleu" ? "selected='selected' " : "" ;?>>bleu</option> <option value="rouge" <?php echo $couleur=="rouge" ? "selected='selected' " : "" ;?>>rouge</option> <option value="vert" <?php echo $couleur=="vert" ? "selected='selected' " : "" ;?>>vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur1)){ echo $afficheErreur1; } ?> </form> <div class="fermer"> <a href="#" class="modal_close1">×</a> </div> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <p> <?php $qualite = !empty($_POST['qualite']) ? $_POST['qualite']: NULL; ?> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option value="Promotionnel/1er prix" <?php echo $qualite=="Promotionnel/1er prix" ? "selected='selected' " : "" ;?>>Promotionnel/1er prix</option> <option value="Meilleur rapport qualité / prix" <?php echo $qualite=="Meilleur rapport qualité / prix" ? "selected='selected' " : "" ;?>>Meilleur rapport qualité / prix</option> <option value="Haut de gamme" <?php echo $qualite=="Haut de gamme" ? "selected='selected' " : "" ;?>>Haut de gamme</option> </select> </p> <p> <?php $zone = !empty($_POST['zone']) ? $_POST['zone']: NULL; ?> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option value="Coeur" <?php echo $zone=="Coeur" ? "selected='selected' " : "" ;?>>Coeur</option> <option value="Dos" <?php echo $zone=="Dos" ? "selected='selected' " : "" ;?>>Dos</option> <option value="Manche" <?php echo $zone=="Manche" ? "selected='selected' " : "" ;?>>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <?php $impression = !empty($_POST['impression']) ? $_POST['impression']: NULL; ?> <select name="impression" id="impression"> <option value="DTG" <?php echo $impression=="DTG" ? "selected='selected' " : "" ;?>>DTG</option> <option value="Transfert quadri" <?php echo $impression=="Transfert quadri" ? "selected='selected' " : "" ;?>>Transfert quadri</option> <option value="Sérigraphie" <?php echo $impression=="Sérigraphie" ? "selected='selected' " : "" ;?>>Sérigraphie</option> <option value="Flex Flock" <?php echo $impression=="Flex Flock" ? "selected='selected' " : "" ;?>>Flex Flock</option> <option value="Broderie" <?php echo $impression=="Broderie" ? "selected='selected' " : "" ;?>>Broderie</option> <option value="Sublimation" <?php echo $impression=="Sublimation" ? "selected='selected' " : "" ;?>>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <input type="file" id="fichier" name="fichier" accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg"> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> <a href="#" class="modal_close2">×</a> </div> </div> <!--Formulaire 3 --> <div id="demo3" class="modal3"> <div class="modal_content3"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Informations et précisions</h2> <form action="" method="post"> <p> <input type="text" name="prenom" id="prenom" placeholder="prénom*" value ="<?php if (isset($_POST['prenom'])){echo $_POST['prenom'];} ?>"/> <input type="text" name="nom" id="nom" placeholder="Nom*" value ="<?php if (isset($_POST['nom'])){echo $_POST['nom'];} ?>"/> <input type="email" name="email" id="email" size="30" placeholder="Adresse mail*" value ="<?php if (isset($_POST['email'])){echo $_POST['email'];} ?>"/> </p> <p> <input type="tel" id="telephone" name="telephone" placeholder="Téléphone*" value ="<?php if (isset($_POST['telephone'])){echo $_POST['telephone'];} ?>"/> <?php $client = !empty($_POST['client']) ? $_POST['client']: NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client=="Particulier" ? "selected='selected' " : "" ;?>>Particulier</option> <option value="Entreprise" <?php echo $client=="Entreprise" ? "selected='selected' " : "" ;?>>Entreprise</option> <option value="Autre" <?php echo $client=="Autre" ? "selected='selected' " : "" ;?>>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> <?php if (isset($_POST['precision'])){echo $_POST['precision'];} ?> </textarea> </p> <p> <input type="submit" name="retour2" value="Précèdent"/> <input type="submit" name="suivant2" value="Envoyer"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur2)){ echo $afficheErreur2; } ?> </form> <a href="#" class="modal_close3">×</a> </div> </div> </body> </html>
Et alors je fais des variables de sessions justes pour faire un test sur une autre page, histoire de voir si je récupère bien toutes les données.
je récupère tout ça sur une autre page "recupDataTest php"....
<?php session_start(); ?> <?php echo $_SESSION['modele'] . "</br>" . $_SESSION['taille'] . "</br>" . $_SESSION['couleur'] . "</br>" . $_SESSION['quantite'] . "</br>" . $_SESSION['qualite'] . "</br>" . $_SESSION['zone'] . "</br>" . $_SESSION['impression'] . "</br>" . $_SESSION['fichier'] . "</br>" . $_SESSION['prenom'] . "</br>" . $_SESSION['nom'] . "</br>" . $_SESSION['email'] . "</br>" . $_SESSION['telephone'] . "</br>" . $_SESSION['client'] . "</br>" . $_SESSION['precison']; ?>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
7 févr. 2022 à 16:32
7 févr. 2022 à 16:32
Prenons le prénom comme exemple.
En ligne 359, tu affiches le prénom à partir de $_POST, donc uniquement si l'utilisateur n'a pas quitté le formulaire.
Pourquoi ne l'affiches-tu pas plutôt à partir de $_SESSION, alors que tu as constaté que $_SESSION permettait de mémoriser les informations de façon plus permanente?
En ligne 359, tu affiches le prénom à partir de $_POST, donc uniquement si l'utilisateur n'a pas quitté le formulaire.
Pourquoi ne l'affiches-tu pas plutôt à partir de $_SESSION, alors que tu as constaté que $_SESSION permettait de mémoriser les informations de façon plus permanente?
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
7 févr. 2022 à 16:57
7 févr. 2022 à 16:57
Très bonne question :'D
Je pense que c'est dû à une mauvaise compréhension de ma part, mais en effet c'est plus logique de procéder ainsi.
Je pense que c'est dû à une mauvaise compréhension de ma part, mais en effet c'est plus logique de procéder ainsi.
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
Modifié le 8 févr. 2022 à 10:29
Modifié le 8 févr. 2022 à 10:29
Bonjour,
Voilà j'ai essayé pour le moment de mettre des $_SESSION avec les variables du premier formulaire. Mais cependant il ne veut pas aller sur le formulaire suivant. Je pense ça doit être à cause de la condition if($quantite == false){
$afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>";
}
else{
// On va sur le formulaire 2
header ('Location: #demo2');
die();
}
Je vais voir pour changer cette condition...
Voilà j'ai essayé pour le moment de mettre des $_SESSION avec les variables du premier formulaire. Mais cependant il ne veut pas aller sur le formulaire suivant. Je pense ça doit être à cause de la condition if($quantite == false){
$afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>";
}
else{
// On va sur le formulaire 2
header ('Location: #demo2');
die();
}
Je vais voir pour changer cette condition...
<?php //On démarre une nouvelle session session_start(); //Formulaire 1 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant'])){ //On récupère les données dans $_POST $modele=$_SESSION['modele']; $taille=$_SESSION['taille']; $couleur=$_SESSION['couleur']; $quantite=$_SESSION['quantite']; /*$modele=$_POST['modele']; $taille=$_POST['taille']; $couleur=$_POST['couleur']; $quantite=$_POST['quantite']; //On définit des variables de session $_SESSION['modele'] = $modele; $_SESSION['taille'] = $taille; $_SESSION['couleur'] = $couleur; $_SESSION['quantite'] = $quantite;*/ //Si on ne sélectionne pas une quantité if($quantite == false){ $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; } else{ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } } //Formulaire 2 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant1'])){ //On récupère les données dans $_POST $qualite=$_POST['qualite']; $zone=$_POST['zone']; $impression=$_POST['impression']; $fichier=$_POST['fichier']; // On va sur le formulaire 3 header('Location: #demo3'); //On définit des variables de session $_SESSION['qualite'] = $qualite; $_SESSION['zone'] = $zone; $_SESSION['impression'] = $impression; //$_SESSION['fichier'] = $fichier; } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour1'])){ // On va sur la formulaire 1 header('Location: #demo1'); die(); } //Formulaire 3 //Si on appuie sur le bouton "suivant" if(isset($_POST['suivant2'])){ //On récupère les données dans $_POST $prenom=$_POST['prenom']; $nom=$_POST['nom']; $email=$_POST['email']; $telephone=$_POST['telephone']; $client=$_POST['client']; $precision=$_POST['precision']; $_SESSION['prenom'] = $prenom; $_SESSION['nom'] = $nom; $_SESSION['email'] = $email; $_SESSION['telephone'] = $telephone; $_SESSION['client'] = $client; $_SESSION['precison'] = $precision; if($prenom == false || $nom == false || $email == false || $telephone == false){ $afficheErreur2 = "<h4>Veuillez compléter les champs obligatoires *</h4>"; } else{ header('Location: recupDataTest.php'); } } //Si on appuie sur le bouton "Précèdent" if(isset($_POST['retour2'])){ // On va sur la page "index.php" header('Location: #demo2'); die(); } ?> <!DOCTYPE htlm> <html lang="fr"> <head> <meta charset="utf-8"/> <meta http-equiv="X_UA-Compatible" content="IE=edge"> <title>Formulaire de devis</title> <style> #quantite{ width:3.5em; } select option[value="bleu"]{ background: blue; } select option[value="rouge"]{ background: red; } select option[value="vert"]{ background: green; } h4{ color: red; } a { text-decoration: none; padding: 15px; background-color: white; border-radius: 5px; text-transform: uppercase; color: black; border: solid black; } a:hover{ background-color: black; color: white; } .modal1 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal1:target { visibility: visible; opacity: 1; } .modal_content1 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close1 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } .modal2 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal2:target { visibility: visible; opacity: 1; } .modal_content2 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close2 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } .modal3 { visibility: hidden; opacity: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; background: rgba(77, 77, 77, .7); transition: all .4s; } .modal3:target { visibility: visible; opacity: 1; } .modal_content3 { border-radius: 4px; position: relative; width: 500px; max-width: 90%; background: white; padding: 1.5em 2em; } .modal_close3 { position: absolute; top: 10px; right: 10px; color: grey; text-decoration: none; } </style> </head> <body> <a href="#demo1">Devis Express</a> <!--Formulaire 1 --> <div id="demo1" class="modal1"> <div class="modal_content1"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Vos besoins (Total de 10 pièces minimum)</h2> <form action="" method="post"> <p> <?php $modele = !empty($_SESSION['modele']) ? $_SESSION['modele']: NULL; ?> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option value="T-shirts" <?php echo $modele=="T-shirts" ? "selected='selected' " : "" ;?>>T-shirts</option> <option value="Sweat-shirts" <?php echo $modele=="Sweat-shirts" ? "selected='selected' " : "" ;?>>Sweat-shirts</option> <option value="Pulls" <?php echo $modele=="Pulls" ? "selected='selected' " : "" ;?>>Pulls</option> </select> <label for="quantite">Quantité</label> <input type="number" name="quantite" id="quantite" min="10" value="<?php if (isset($_POST['quantite'])){echo $_POST['quantite'];} ?>"/> <br></br> </p> <p> <?php $taille = !empty($_SESSION['taille']) ? $_SESSION['taille']: NULL; ?> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option value="XS" <?php echo $taille=="XS" ? "selected='selected' " : "" ;?>>XS</option> <option value="S" <?php echo $taille=="S" ? "selected='selected' " : "" ;?>>S</option> <option value="M" <?php echo $taille=="M" ? "selected='selected' " : "" ;?>>M</option> <option value="L" <?php echo $taille=="L" ? "selected='selected' " : "" ;?>>L</option> <option value="XL" <?php echo $taille=="XL" ? "selected='selected' " : "" ;?>>XL</option> </select> <?php $couleur = !empty($_SESSION['couleur']) ? $_SESSION['couleur']: NULL; ?> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu" <?php echo $couleur=="bleu" ? "selected='selected' " : "" ;?>>bleu</option> <option value="rouge" <?php echo $couleur=="rouge" ? "selected='selected' " : "" ;?>>rouge</option> <option value="vert" <?php echo $couleur=="vert" ? "selected='selected' " : "" ;?>>vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur1)){ echo $afficheErreur1; } ?> </form> <div class="fermer"> <a href="#" class="modal_close1">×</a> </div> </div> </div> <!--Formulaire 2 --> <div id="demo2" class="modal2"> <div class="modal_content2"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Infos supplémentaires pour impression</h2> <form action="" method="post"> <p> <?php $qualite = !empty($_POST['qualite']) ? $_POST['qualite']: NULL; ?> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option value="Promotionnel/1er prix" <?php echo $qualite=="Promotionnel/1er prix" ? "selected='selected' " : "" ;?>>Promotionnel/1er prix</option> <option value="Meilleur rapport qualité / prix" <?php echo $qualite=="Meilleur rapport qualité / prix" ? "selected='selected' " : "" ;?>>Meilleur rapport qualité / prix</option> <option value="Haut de gamme" <?php echo $qualite=="Haut de gamme" ? "selected='selected' " : "" ;?>>Haut de gamme</option> </select> </p> <p> <?php $zone = !empty($_POST['zone']) ? $_POST['zone']: NULL; ?> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option value="Coeur" <?php echo $zone=="Coeur" ? "selected='selected' " : "" ;?>>Coeur</option> <option value="Dos" <?php echo $zone=="Dos" ? "selected='selected' " : "" ;?>>Dos</option> <option value="Manche" <?php echo $zone=="Manche" ? "selected='selected' " : "" ;?>>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <?php $impression = !empty($_POST['impression']) ? $_POST['impression']: NULL; ?> <select name="impression" id="impression"> <option value="DTG" <?php echo $impression=="DTG" ? "selected='selected' " : "" ;?>>DTG</option> <option value="Transfert quadri" <?php echo $impression=="Transfert quadri" ? "selected='selected' " : "" ;?>>Transfert quadri</option> <option value="Sérigraphie" <?php echo $impression=="Sérigraphie" ? "selected='selected' " : "" ;?>>Sérigraphie</option> <option value="Flex Flock" <?php echo $impression=="Flex Flock" ? "selected='selected' " : "" ;?>>Flex Flock</option> <option value="Broderie" <?php echo $impression=="Broderie" ? "selected='selected' " : "" ;?>>Broderie</option> <option value="Sublimation" <?php echo $impression=="Sublimation" ? "selected='selected' " : "" ;?>>Sublimation</option> </select> </p> <p> <label for="fichier">Importez vos fichiers ici</br></label> <input type="file" id="fichier" name="fichier" accept="image/png, image/jpeg, .ai, .eps, .pdf, .svg"> </p> <p> <input type="submit" name="retour1" value="Précèdent"/> <input type="submit" name="suivant1" value="Suivant"/> </p> </form> <a href="#" class="modal_close2">×</a> </div> </div> <!--Formulaire 3 --> <div id="demo3" class="modal3"> <div class="modal_content3"> <h1>Votre demande de devis</h1> <p>Faite votre demande de devis en seulement quelques clics !</br></br></br></p> <h2>Informations et précisions</h2> <form action="" method="post"> <p> <input type="text" name="prenom" id="prenom" placeholder="prénom*" value ="<?php if (isset($_POST['prenom'])){echo $_POST['prenom'];} ?>"/> <input type="text" name="nom" id="nom" placeholder="Nom*" value ="<?php if (isset($_POST['nom'])){echo $_POST['nom'];} ?>"/> <input type="email" name="email" id="email" size="30" placeholder="Adresse mail*" value ="<?php if (isset($_POST['email'])){echo $_POST['email'];} ?>"/> </p> <p> <input type="tel" id="telephone" name="telephone" placeholder="Téléphone*" value ="<?php if (isset($_POST['telephone'])){echo $_POST['telephone'];} ?>"/> <?php $client = !empty($_POST['client']) ? $_POST['client']: NULL; ?> <select name="client" id="client"> <option value="Particulier" <?php echo $client=="Particulier" ? "selected='selected' " : "" ;?>>Particulier</option> <option value="Entreprise" <?php echo $client=="Entreprise" ? "selected='selected' " : "" ;?>>Entreprise</option> <option value="Autre" <?php echo $client=="Autre" ? "selected='selected' " : "" ;?>>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"> <?php if (isset($_POST['precision'])){echo $_POST['precision'];} ?> </textarea> </p> <p> <input type="submit" name="retour2" value="Précèdent"/> <input type="submit" name="suivant2" value="Envoyer"/> </p> <?php //Si le formulaire n'est pas rempli, on affiche le message d'erreur if (isset($afficheErreur2)){ echo $afficheErreur2; } ?> </form> <a href="#" class="modal_close3">×</a> </div> </div> </body> </html>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
8 févr. 2022 à 10:37
8 févr. 2022 à 10:37
Pour moi la logique serait
Mais cela ne fonctionne pas...
if(isset($_SESSION['quantite'])){ // On va sur le formulaire 2 header ('Location: #demo2'); die(); } else{ // On affiche le message d'erreur $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; }
Mais cela ne fonctionne pas...
yg_be
Messages postés
23350
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 novembre 2024
1 554
>
fabi00
Messages postés
82
Date d'inscription
vendredi 4 février 2022
Statut
Membre
Dernière intervention
18 mars 2022
8 févr. 2022 à 11:29
8 févr. 2022 à 11:29
parfait! peux-tu alors marquer la discussion comme résolue?