Je ne comprends pas pourquoi ma variable n'est pas définie
Résolu
fabi00
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je crée un formulaire de devis et j'essaie d'afficher un message d'erreur lorsque l'utilisateur n'a pas rempli certaines données du formulaire. J'ai donc créé deux variables qui contienne les messages d'erreur, la variable $afficheErreur1 et $afficheErreur2. Cependant au moment de la compilation j'ai un message qui m'indique que les deux variables ne sont pas définies et pourtant elle fonctionne. J'aimerais comprendre pourquoi ? Et comment améliorer ça car visiblement je pense que je m'y prends mal.
Merci d'avance.
Voici mon code...
Je crée un formulaire de devis et j'essaie d'afficher un message d'erreur lorsque l'utilisateur n'a pas rempli certaines données du formulaire. J'ai donc créé deux variables qui contienne les messages d'erreur, la variable $afficheErreur1 et $afficheErreur2. Cependant au moment de la compilation j'ai un message qui m'indique que les deux variables ne sont pas définies et pourtant elle fonctionne. J'aimerais comprendre pourquoi ? Et comment améliorer ça car visiblement je pense que je m'y prends mal.
Merci d'avance.
Voici mon code...
<?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; if($quantite == false){ $afficheErreur1 = "<h4>Veuillez ajouter une quantité</h4>"; $_SESSION['afficheErreur1'] = $afficheErreur1; } 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'); die(); //header('Location: suite2.php'); //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>"; $_SESSION['afficheErreur2'] = $afficheErreur2; } else{ header('Location: recupDataTest.php'); die(); } } //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"/> <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> <label for="modele">Modèle</label> <select name="modele" id="modele"/> <option>T-shirts</option> <option>Sweat-shirts</option> <option>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> <label for="taille">Taille</label> <select name="taille" id="taille"/> <option>XS</option> <option>S</option> <option>M</option> <option>L</option> <option>XL</option> </select> <label for="couleur">Couleur</label> <select name="couleur" id="couleur"> <option value="bleu">bleu</option> <option value="rouge">rouge</option> <option value="vert">vert</option> </select> </p> <p> <input type="submit" name="suivant" value="Suivant"/> </p> <?php echo $afficheErreur1; ?> </form> <a href="#" class="modal_close1">×</a> </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> <label for="qualite">Qualité</br></label> <select name="qualite" id="qualite"> <option>Promotionnel/1er prix</option> <option>Meilleur rapport qualité / prix</option> <option>Haut de gamme</option> </select> </p> <p> <label for="zone">Zone de personnalisation</br></label> <select name="zone" id="zone"> <option>Coeur</option> <option>Dos</option> <option>Manche</option> </select> </p> <p> <label for="impression">Technique d'impression</br></label> <select name="impression" id="impression"> <option>DTG</option> <option>Transfert quadri</option> <option>Sérigraphie</option> <option>Flex Flock</option> <option>Broderie</option> <option>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'];} ?>"/> <select name="client" id="client"> <option>Particulier</option> <option>Entreprise</option> <option>Autre</option> </select> </p> <p> <textarea id="precision" name="precision" rows="5" cols="40" placeholder="Précision"></textarea> </p> <p> <input type="submit" name="retour2" value="Précèdent"/> <input type="submit" name="suivant2" value="Envoyer"/> </p> <?php echo $afficheErreur2; ?> </form> <a href="#" class="modal_close3">×</a> </div> </div> </body> </html>
A voir également:
- Je ne comprends pas pourquoi ma variable n'est pas définie
- Le fuseau horaire ne peut pas être défini manuellement en raison des restrictions de l'appareil ✓ - Forum iPhone
- Vba range avec variable ✓ - Forum VB / VBA
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Correction python ✓ - Forum Python
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
ton message d'erreur ne t'indique aucun numéro de ligne?
es-tu certain que, avant d'exécuter la ligne 272, le code exécute d'abord une instruction
Sinon, en ligne 272, le contenu de
ton message d'erreur ne t'indique aucun numéro de ligne?
es-tu certain que, avant d'exécuter la ligne 272, le code exécute d'abord une instruction
$afficheErreur1= ...;?
Sinon, en ligne 272, le contenu de
$afficheErreur1est indéfini.
fabi00
Messages postés
82
Date d'inscription
Statut
Membre
Dernière intervention
Bah oui, en fait il fallait juste tester si la variable était renseignée ou pas. Merci beaucoup.