Bonsoir,

j'ai un problème avec l'envoi d'un formulaire comprenant des checkboxes.
J'ai une formulaire qui s'affiche avec des checkboxes qui sont déjà cochées ou non en fonction de booléens dans ma BDD Mysql.

Mon problème vient du fait que je n'arrive pas à changer ma BDD en fonction de l'état de la checkbox que je coche.

Voici le code du formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<form name ="form1" method ="post" action ="<?echo $_SERVER['PHP_SELF']?>">
<input type='checkbox' name="checkbox" <?php print $ch[20]; ?>>  Label</br> <!--<?php print $ch[20]; ?> étant la valeur de mon booléen dans ma BDD qui renvoie 'checked' ou 'unchecked'-->
<input type = "submit" name = "submit1" value = "Envoyer">
Et le traiement PHP
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
 
//connexion à la table puis
 
    if(isset($_POST['submit1']))
    {
        if (isset($_POST['ch'])) // Case chochée
        {
   			if ($ch1 == 'box') {
				$req=mysql_query("UPDATE maTable SET boolDynMess=1 WHERE idDynMess = 20") or die(mysql_error());
				echo "mise à UN";
			}
			else
			{
				$req=mysql_query("UPDATE maTable SET boolDynMess=0 WHERE idDynMess = 20") or die(mysql_error()); 
				echo "mise à ZERO";
			}
		}
	}
	mysql_close();
Dans le cas où la case est cochée au premier affichage, si je la décoche, j'ai le message "Mise à UN" quand même alors qu'elle devrait être se mettre à 0 et pas de modif de la BDD.
Dans le cas où la case est cochée au premier affichage, si je la coche, j'ai aussi le message "mise à UN", ce qui est normal cette fois, et ma BDD est bien modifiée.

Pourriez-vous m'aidez svp
Merci
neospirit