Insérer les réponses d'un questionnaire dans une bd en PHP
marlui
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
Blunderer Messages postés 273 Date d'inscription Statut Membre Dernière intervention -
Blunderer Messages postés 273 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je travail sur un projet dont le but est de créer une page en PHP qui crée, modifie un questionnaire que l'on peut remplir. J'ai un petit problème au niveau de l'insertion des réponses dans ma base de données. Je pense que c'est un problème de variables.
Voici la page qui affiche les questions et ou l'utilisateur peut répondre :
Et voici maintenant la page que j'ai fait qui sert à faire l'insertion :
Voici le message d'erreur qui m'est affiché lorsque j'essaie d'entrer des réponses :
<citation>Notice: Undefined variable: QuestId in C:\Users\mluisier\xampp\htdocs\Questionnaire\Client\insertReponseC.php on line 33
Notice: Undefined variable: i in C:\Users\mluisier\xampp\htdocs\Questionnaire\Client\insertReponseC.php on line 36
</citation>
Si quelqu'un peut m'aider ..
Merci d'avance
Je travail sur un projet dont le but est de créer une page en PHP qui crée, modifie un questionnaire que l'on peut remplir. J'ai un petit problème au niveau de l'insertion des réponses dans ma base de données. Je pense que c'est un problème de variables.
Voici la page qui affiche les questions et ou l'utilisateur peut répondre :
<html> <head> <!-- Titre de la page --> <title>Réponses-questionnaire</title> <!-- Auteur de la page --> <meta name="author" content="author" /> <!-- Description de la page --> <meta name="description" content="Pages pour répondre aux questionnaires ou les gérer" /> <!-- Empêcher la mise en cache de la page par le navigateur --> <meta http-equiv="pragma" content="no-cache" /> </head> <body> <link rel="stylesheet" type="text/css" href="../Style.css" /> <div class="container"> <div class="left"><b><center><br><br>Menu</center></b><br /> <h2 style="font-size:15px"><center><a href="indexC.php">Retour</a></center></h2></div> <a href="indexC.php"> <div class="header"><h1 class="header"><center><img border="1" src="../Images/Répondre.png"alt="FMV" width="900" height="200" /></center></h1></div></a> </br> </br> </br> <div class="content"> <?PHP include ('../Connexion.php'); // Récupération de la variable $Id = $_GET['n']; ?> <center> <form action='insertReponseC.php' name='form_quest' method='GET'> <h2>Utilisateur</h2> <b>Nom : </b> <input name='cNom' type='text' size='20'/> <b>Prénom : </b> <input name='cPrenom' type='text' size='20'/><br><br> <br> <br> <?PHP // réation de la requête SELECT $sqlSelect = 'SELECT * FROM vQuestions WHERE quenId = "'.$Id.'";'; //On lance la requête (mysql_query) SELECT et on impose un message d'erreur si la requête ne se passe pas bien (or die) $reqSelect = mysql_query($sqlSelect) OR die ('Erreur SQL !<br>'.$sqlSelect.'<br>'.mysql_error()); // Requête pour compter le nombre de question $sqlCompte = 'SELECT COUNT(*) FROM vQuestion WHERE quenId = "'.$Id.'";'; // Déclaration de ma variable i pour la boucle $i = 0; echo '<table border=30>'; while($data = mysql_fetch_array($reqSelect)) { for($i=0;$i <= $sqlCompte;$i++) { echo '<tr><td>'.$data['questQuestion'].'</td>'; echo '<td><input name="'.$i.'" type="text"size="40"></td></tr>'; } } echo '<tr><td COLSPAN=2><center><input type=\'submit\' name=\'quest\' value=\'Envoi de mes réponses\'></center></td></tr>'; echo '</table>'; ?> <br> <br> </form> <?PHP // On ferme la connexion mysql_close(); ?> </center> </div> </div> </body> </html>
Et voici maintenant la page que j'ai fait qui sert à faire l'insertion :
<html> <head> <!-- Titre de la page --> <title>Insert-réponse</title> <!-- Auteur de la page --> <meta name="author" content="author" /> <!-- Description de la page --> <meta name="description" content="Pages pour répondre aux questionnaires ou les gérer" /> <!-- Empêcher la mise en cache de la page par le navigateur --> <meta http-equiv="pragma" content="no-cache" /> </head> <body> <!-- Lien CSS --> <link rel="stylesheet" type="text/css" href="../Style.css" /> <div class="container"> <div class="left"><b><center><br><br>Menu</center></b><br /> <h2 style="font-size:15px"><center><a href="IndexC.php">Retour</a></center></h2></div> <a href="insertReponseC.php"> <div class="header"><h1 class="header"><center><img border="1" src="../Images/Logo_FMV_Répondre.png"alt="FMV" width="900" height="200" /></center></h1></div></a> </br> </br> </br> <div class="content"> <?PHP include ('../Connexion.php'); //Récupération de la variable $IdQuest = $QuestId; $Nom = $_GET['cNom']; $Prenom = $_GET['cPrenom']; $Reponse = $i; if(empty($Nom) || empty($Prenom) || empty($Reponse)) { echo '<html><head> <title> Erreur ! </title></head><body> <h1 align=center> Vous n\'avez pas remplit tous les champs ! </h1> <br> <h2 align=center> Veuillez <a href=\'IndexC.php\'>recommencer </a>!</h2>'; } else { //Requête sql INSERT INTO $sql = 'INSERT INTO tblReponse(tblQuestion_questId, repNom, repPrenom, repReponse) VALUES ("'.$IdQuest.'","'.mysql_real_escape_string($Nom).'","'.mysql_real_escape_string($Prenom).'","'.mysql_real_escape_string($Reponse).'")'; //Exécution de la requête $result = mysql_query($sql) OR die('<html><head><title>Erreur !</title></head><body><br><br><br><h1 align=\'center\'>Erreur à l\'insertion ! </h1><br>"'.mysql_error().'"<br><H2 align=center> Veuillez <a href=\'IndexC.php\'>recommencer !</a></h2></body></html>'); if($result == true) { // Récupération du dernier identifiant inséré par mysql $LastINsertedId = mysql_insert_id(); echo "<html><head> <title>Questionnaire inséré !</title></head><body> <center><br><br><br><h1>Vos réponses ont été enregistrées!</h1> <br> <a href='IndexC.php'>Répondre à un autre questionnaire</a><br></center>"; } } // On quitte la connexion mysql_close(); ?> </div> </div> </body> </html>
Voici le message d'erreur qui m'est affiché lorsque j'essaie d'entrer des réponses :
<citation>Notice: Undefined variable: QuestId in C:\Users\mluisier\xampp\htdocs\Questionnaire\Client\insertReponseC.php on line 33
Notice: Undefined variable: i in C:\Users\mluisier\xampp\htdocs\Questionnaire\Client\insertReponseC.php on line 36
</citation>
Si quelqu'un peut m'aider ..
Merci d'avance
A voir également:
- Insérer les réponses d'un questionnaire dans une bd en PHP
- Insérer une vidéo dans powerpoint - Guide
- Insérer signature word - Guide
- Insérer un espace insécable dans word - Guide
- Insérer liste déroulante excel - Guide
- Insérer un tableau dans word - Guide
22 réponses
Non, non, c'est tout bon :)
Blunderer
Messages postés
273
Date d'inscription
Statut
Membre
Dernière intervention
83
Ok je te réponds dans 1h je dois bouger dsl :)
marlui
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
1
Dak, pas de soucis :)
marlui
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
1
En fait c'est pas vrai, il y a un truc que ne va pas .. Tout fonctionne pour l'utilisateur sauf que ça ne s'insère pas dans la base de données..
Et là ? (page 2)
<html> <head> <!-- Titre de la page --> <title>Insert-réponse</title> <!-- Auteur de la page --> <meta name="author" content="author" /> <!-- Description de la page --> <meta name="description" content="Pages pour répondre aux questionnaires ou les gérer" /> <!-- Empêcher la mise en cache de la page par le navigateur --> <meta http-equiv="pragma" content="no-cache" /> </head> <body> <!-- Lien CSS --> <link rel="stylesheet" type="text/css" href="../Style.css" /> <div class="container"> <div class="left"><b><center><br><br>Menu</center></b><br /> <h2 style="font-size:15px"><center><a href="IndexC.php">Retour</a></center></h2></div> <a href="insertReponseC.php"> <div class="header"><h1 class="header"><center><img border="1" src="../Images/Logo_FMV_Répondre.png"alt="FMV" width="900" height="200" /></center></h1></div></a> </br> </br> </br> <div class="content"> <?PHP include ('../Connexion.php'); //Récupération de la variable $IdQuen = $_GET['quenId']; $Nom = $_GET['cNom']; $Prenom = $_GET['cPrenom']; $sqlSelect = 'SELECT questId FROM tblQuestion WHERE tblQuestionnaire_quenId = "'.$IdQuen.'";'; $reqSelect = mysql_query($sqlSelect) OR die ('Erreur SQL !<br>'.$sqlSelect.'<br>'.mysql_error()); $res = true; while($data = mysql_fetch_array($reqSelect)) { $Reponse = $_GET[$data['questId']]; if(empty($Nom) || empty($Prenom) || empty($Reponse)) { echo '<html><head> <title> Erreur ! </title></head><body> <h1 align=center> Vous n\'avez pas remplit tous les champs ! </h1> <br> <h2 align=center> Veuillez <a href=\'IndexC.php\'>recommencer </a>!</h2>'; $res = false; break; } } if ($res == true) { $sqlSelect2 = 'SELECT questId FROM tblQuestion WHERE tblQuestionnaire_quenId = "'.$IdQuen.'";'; $reqSelect2 = mysql_query($sqlSelect2) OR die ('Erreur SQL !<br>'.$sqlSelect2.'<br>'.mysql_error()); while($data2 = mysql_fetch_array($reqSelect2)) { //Requête sql INSERT INTO $sql = 'INSERT INTO tblReponse(tblQuestion_questId, repNom, repPrenom, repReponse) VALUES ("'.$data2['questId'].'","'.mysql_real_escape_string($Nom).'","'.mysql_real_escape_string($Prenom).'","'.mysql_real_escape_string($Reponse).'")'; //Exécution de la requête $result = mysql_query($sql) or die('<html><head><title>Erreur !</title></head><body><br><br><br><h1 align=\'center\'>Erreur à l\'insertion ! </h1><br>"'.mysql_error().'"<br><H2 align=center> Veuillez <a href=\'IndexC.php\'>recommencer !</a></h2></body></html>'); if ($result == false) { $res = false; break; } } } if($res == true) { // Récupération du dernier identifiant inséré par mysql $LastINsertedId = mysql_insert_id(); echo "<html><head> <title>Questionnaire inséré !</title></head><body> <center><br><br><br><h1>Vos réponses ont été enregistrées!</h1> <br> <a href='IndexC.php'>Répondre à un autre questionnaire</a><br></center>"; } // On quitte la connexion mysql_close(); ?> </div> </div> </body> </html>