Bonjour,

Voici mon problème : dans un formulaire checkbox, lorsque je coche plusieurs choix, seul le premier est inséré dans mon champ 'question4' de ma base de donnée.
Comment faire pour insérer les choix multiples sélectionné par l'utilisateur ?

Je suis débutant en php et mysql et je bloque vraiment sur ce problème.

Merci d'avance pour votre aide !

voila mon script:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
81
82
<?php 
// On commence par récupérer les champs 
if(isset($_POST['action']))      $action=$_POST['action'];
else      $action="";
 
if(isset($_POST['theme']))      $theme=$_POST['theme'];
else      $theme="";
 
if(isset($_POST['points']))      $points=$_POST['points'];
else      $points="";
 
if(isset($_POST['question1']))   $question1=$_POST['question1'];
else        $question1="";
 
if(isset($_POST['question2']))   $question2=$_POST['question2'];
else         $question2="";
 
if(isset($_POST['question4']))   $question4=$_POST['question4'];
else         $question4="";
 
 
if(isset($_POST['question3']))   $question3=$_POST['question3'];
else        $question3="";
////////////////////////////////////////
//////////////////////////////////////////
// On vérifie si les champs sont vides 
if(empty($question1) OR empty($question2) OR empty($question4) OR empty($question3)){ 
    echo '<font color="red">merci de valider ce formulaire !</font>'; 
} 
// Aucun champ n'est vide, on peut enregistrer dans la table 
else{ 
       // connexion à la base
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());
// sélection de la base  
    mysql_select_db('mv',$db)  or die('Erreur de selection '.mysql_error()); 
	  $sql = "INSERT INTO infos_table(id, login, action, theme, points) VALUES('','','$action','$theme','$points')"; 
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    // on écrit la requête sql 
    $sql1 = "INSERT INTO questionnaire(id, login, question1, question2, question3, question4, question5) VALUES('','','$question1','$question2','$question3', '$question41', '')"; 
    // on insère les informations du formulaire dans la table 
    mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error()); 
    // on affiche le résultat pour le visiteur 
    echo 'Vos infos on été ajoutées.'; 
     exit;
    mysql_close();  // on ferme la connexion 
    } 
//header('Location: <a href="http://www.google.fr/&#39;);" target="_blank">http://www.google.fr/');</a>
?>
<html>
	<form method="POST" action=" ">
<center>
<p>jouez-vous à des jeux vidéos?</p>
<input type="radio" name="question1" value="oui">Oui
<input type="radio" name="question1" value="non">non
<div id="test">
<p>un autre membre de votre foyer,joue-t-il à des jeux vidéo ?</p>
<input type="radio" name="question2" value="oui">Oui
<input type="radio" name="question2" value="non">non
<p>parmi les consoles de jeux suivantes,lesquelles possédez-vous ?</p>
<input type="checkbox" name="question4[]" value="Nintendo3DS">Nintendo 3DS
<input type="checkbox" name="question4[]" value="NintendoDS"> Nintendo DS
<input type="checkbox" name="question4[]" value="NintendoWii"> Nintendo Wii
 
<p> combien dheure par semaine, en moyenne, jouez-vous/ joue-t-ilà des jeux vidéo ?</p>
<select name="question3">
      <option  value="autre">autre</option>
      <option  value="8h00">8h00</option>
      <option  value="8h30">8h30</option>
      <option  value="9h00">9h00</option>
      <option  value="9h30">9h30</option>
      <option  value="10h00">10h00</option>
    </select>
	</div>
<input type="text" name="action" size="20" value="Sondage" maxlength="35" readonly="readonly" style="display: none"; ></br>
<input type="text" name="theme" size="20" value="Vous et les jeux vidéo" maxlength="70" readonly="readonly" style="display: none";></br>
<input type="text" name="points" size="20" value="20" maxlength="70" readonly="readonly" style="display: none";></br>
 
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
</html>