Problème de tableau avec formulaire.
Posté : 22 juin 2005, 14:05
Alors j'ai un petit questionnaire avec 3 réponses cochables (possibilité de cocher les trois), puis j'exploite les résultats.
Donc voici le code en question que j'ai simplifié pour cerner uniquement le problème :
[php<html><body>
<form method=post action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="checkbox" name="Q6[]" value="1">Suggestion 1<br>
<input type="checkbox" name="Q6[]" value="2">Suggestion 2 <br>
<input type="checkbox" name="Q6[]" value="3">Suggestion 3 <br>
<input type="submit" name="Submit" value="Envoyer">
</form>
<?php
for ($i = 0; $i < count($Q6); $i++) {echo $Q6[$i] . "<br>" ;}
//Sert à vérifier si les cases ont bien était coché, et si chaque information a bien était enregistré dans la case du tableau
$host = "****";
$user = "****";
$pass = "****";
$bdd = "****";
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données");
@mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
if ( $Q6[0] == 1 )
{
echo "Je suis dans Q6[0] == 1 <br>";
}
if ( $Q6[1] == 2 )
{
echo "Je suis dans Q6[1] == 2 <br>";
}
if ( $Q6[2] == 3 )
{
echo "Je suis dans Q6[2] == 3 <br>";
}
mysql_close();
?>
</html></body>
</html></body> [/php]
Puis je fais quelques tests:
Si tout est coché :
Donc pas de problème j'ai accédé à tout.
Si je coche rien que le premier :
Toujours aucun problème sa affiche les bons trucs
Si je coche le deuxième ou troisième, voir les deux :
Donc il accède pas au deux autres IF, ce qui veut dire qu'il y a un problème.
Si je coche le premier et deuxième :
Aucun problème
Si je coche le premier et troisième :
Il m'affiche pas les infos du trois alors qu'il a bien était coché
Voila j'en conclu que les informations s'affichent uniquement si les informations de la case précédente se sont affichés.
Quelqu'un à t'il une solution à mon probème ?
merci
Donc voici le code en question que j'ai simplifié pour cerner uniquement le problème :
[php<html><body>
<form method=post action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="checkbox" name="Q6[]" value="1">Suggestion 1<br>
<input type="checkbox" name="Q6[]" value="2">Suggestion 2 <br>
<input type="checkbox" name="Q6[]" value="3">Suggestion 3 <br>
<input type="submit" name="Submit" value="Envoyer">
</form>
<?php
for ($i = 0; $i < count($Q6); $i++) {echo $Q6[$i] . "<br>" ;}
//Sert à vérifier si les cases ont bien était coché, et si chaque information a bien était enregistré dans la case du tableau
$host = "****";
$user = "****";
$pass = "****";
$bdd = "****";
@mysql_connect($host, $user, $pass) or die("Impossible de se connecter à la base de données");
@mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");
if ( $Q6[0] == 1 )
{
echo "Je suis dans Q6[0] == 1 <br>";
}
if ( $Q6[1] == 2 )
{
echo "Je suis dans Q6[1] == 2 <br>";
}
if ( $Q6[2] == 3 )
{
echo "Je suis dans Q6[2] == 3 <br>";
}
mysql_close();
?>
</html></body>
</html></body> [/php]
Puis je fais quelques tests:
Si tout est coché :
Code : Tout sélectionner
1
2
3
Je suis dans Q6[0] == 1
Je suis dans Q6[1] == 2
Je suis dans Q6[2] == 3 Si je coche rien que le premier :
Code : Tout sélectionner
1
Je suis dans Q6[0] == 1 Si je coche le deuxième ou troisième, voir les deux :
Code : Tout sélectionner
2
3Si je coche le premier et deuxième :
Code : Tout sélectionner
1
2
Je suis dans Q6[0] == 1
Je suis dans Q6[1] == 2 Si je coche le premier et troisième :
Code : Tout sélectionner
1
3
Je suis dans Q6[0] == 1 Voila j'en conclu que les informations s'affichent uniquement si les informations de la case précédente se sont affichés.
Quelqu'un à t'il une solution à mon probème ?
merci