Récupérer données formulaire et les insérer dans une table MySQL
Bonjour,
je sais qu'il y a déjà eu des posts sur la récupération des données d'un formulaire, et j'ai testé les solutions, avec succès, mais quand je demande à ce que l'insertion se fasse dans une requête sql avec un bouton radio, ça ne fonctionne pas.
Voici mon fichier d'origine, permettant d'ajouter des questions à un qcm:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| <?php
session_start();
//----Verification login
if(!isset($_SESSION['code']))
{
header("Location:loginProf.php");
}
?>
<?php
include("configProf.php");
if(isset($_POST['bouton']))
{
$requete="INSERT INTO qcm SET question='".$_POST['question']."', rep1='".$_POST['rep1']."', rep2='".$_POST['rep2']."', rep3='".$_POST['rep3']."',rep_juste='".$_POST['rep_juste']."',commentaire='".$_POST['commentaire']."', id_theme='".$_POST['id_theme']."' ";
$resultat=mysql_query($requete);
header("Location:questionsGestion.php");
}
//--------------requête du menu
$requete2="SELECT * FROM theme";
$resultat2=mysql_query($requete2);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>
<body>
<form id="monform" name="form1" method="post" enctype="multipart/form-data" action="questionsAjout.php">
<p>
<label>Theme :
<select name="id_theme" id="id_theme">
<?php while($theme=mysql_fetch_array($resultat2)) { ?>
<option value="<?php echo $theme['id_theme']; ?>"><?php echo $theme['intitule_theme']; ?></option>
<?php } ?>
</select>
</label>
</p>
<p>
<label>question :
<input type="text" name="question" />
</label>
</p>
<p>
<label>rep1 :
<input type="text" name="rep1" />
</label>
</p>
<p>
<label>rep2 :
<input type="text" name="rep2" />
</label>
</p>
<p>
<label>rep3 :
<input type="text" name="rep3" />
</label>
</p>
<p>
<label>rep_juste :
<input type="text" name="rep_juste" />
</label>
</p>
<p>
<label>commentaire :
<input type="text" name="commentaire" />
</label>
</p>
<p>
<label>
<input type="submit" name="bouton" value="Envoyer" />
</label>
</p>
</form>
</body>
</html> |
je tape ma question, mes trois réponses, je copie colle la bonne réponse, je mets le commentaire, et j'envoie le tout à la base de données. Génial, ça fonctionne.
A présent, je veux améliorer le concept et mettre un bouton radio à côté de chaque réponse, tout en enlevant le champ "réponse juste". La case cochée correspond donc à la bonne réponse.
Voici mon script, qui ne fonctionne malheureusement pas pour la case cochée (ça me met à chaque fois, pour réponse juste, "on", sans que je comprenne pourquoi)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| <?php
session_start();
//----Verification login
if(!isset($_SESSION['code']))
{
header("Location:loginProf.php");
}
?>
<?php
include("configProf.php");
if(isset($_POST['bouton']))
{
$requete="INSERT INTO qcm SET question='".$_POST['question']."', rep1='".$_POST['rep1']."', rep2='".$_POST['rep2']."', rep3='".$_POST['rep3']."',rep_juste='".$_POST['rep_juste']."',commentaire='".$_POST['commentaire']."', id_theme='".$_POST['id_theme']."' ";
$resultat=mysql_query($requete);
header("Location:questionsGestion.php");
}
//--------------requête du menu
$requete2="SELECT * FROM theme";
$resultat2=mysql_query($requete2);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans nom</title>
</head>
<body>
<form id="monform" name="form1" method="post" enctype="multipart/form-data" action="questionsAjout.php">
<p>
<label>Theme :
<select name="id_theme" id="id_theme">
<?php while($theme=mysql_fetch_array($resultat2)) { ?>
<option value="<?php echo $theme['id_theme']; ?>"><?php echo $theme['intitule_theme']; ?></option>
<?php } ?>
</select>
</label>
</p>
<p>
<label>question :
<input type="text" name="question" />
</label>
</p>
<p>
<label>rep1 :
<input name="rep1" type="text" /><input type="radio" name="rep_juste" />
</label>
</p>
<p>
<label>rep2 :
<input type="text" name="rep2" /><input type="radio" name="rep_juste" />
</label>
</p>
<p>
<label>rep3 :
<input type="text" name="rep3" /><input type="radio" name="rep_juste" />
</label>
</p>
<p>
<label>commentaire :
<input type="text" name="commentaire" />
</label>
</p>
<p>
<label>
<input type="submit" name="bouton" value="Envoyer" />
</label>
</p>
</form>
<p><a href="questionsGestion.php">Retour</a></p>
<p><a href="pageConnexion.html">Accueil</a></p>
</body>
</html> |
Les seuls tutoriaux que j'ai trouvé permettent seulement de récupérer les données cochées dans un formulaire (du style Mr ou Mme, Débutant ou Initié) avec $_POST['civilite'] ou $_POST['sexe'], mais là, quand je mets $_POST['rep_juste'], ça ne fonctionne pas.
Où est mon erreur?
Merci par avance,
Johnny
P.S: j'ai essayé de mettre value = "$_POST [rep1]", value = "$_POST [rep2]", value = "$_POST [rep3]" pour les 3 radio buttons, en mettant
Code:
<input type="radio" name="rep_juste" value = "$_POST [rep3]" />
par exemple, en replaçant rep3 par rep2 et rep 1 pour les autres réponses proposées, mais sans succès.