UPDATE champ checkbox coché ou non
12 messages
• Page 1 sur 1
- hx.jonathan
- WRInaute discret

- Messages: 162
- Inscription: 2 Mar 2005
UPDATE champ checkbox coché ou non
Bonjour à tous,
En fait j'ai une checkbox. Quand je la coche j'aimerais que j'enregistre son statut coché dans ma base de données de sorte que l'on retienne ce que l'utilisateur avait coché. J'ai essayé avec un UPDATE mais il ne m'enregistre rien.
Voici comment je récupère la valeur
Quelle solution existe ?
John
En fait j'ai une checkbox. Quand je la coche j'aimerais que j'enregistre son statut coché dans ma base de données de sorte que l'on retienne ce que l'utilisateur avait coché. J'ai essayé avec un UPDATE mais il ne m'enregistre rien.
Voici comment je récupère la valeur
- Code: Tout sélectionner
<?php
connexion_DB('abscence');
if (isset($_POST['normale'])) // la case inscription a été cochée donc affiche la valeur de VALUE de mon formulaire
{
echo $_POST['normale'];
$sql=mysql_query("UPDATE parametres SET statut="$_POST['normale']" WHERE ID_PARAM=1"); // je mets à jour le champ de ma table afin que je retienne qu'il est coché.
}
mysql_query($sql)or die('Erreur SQL !'.$sql.''.mysql_error());
echo "<br/>".$sql;
?>
<FORM method="POST">
<input type="checkbox" name="normale"value="try">Normales<br>
<input type="submit" value="Afficher les résultats"/>
</form>
Quelle solution existe ?
John
-

cleden - WRInaute passionné

- Messages: 1194
- Inscription: 6 Jan 2003
Déjà,
Ne va pas vérifier si la case est cochée mais si la variable existe. Or Elle existe dans tous les cas car elle fait partie du formulaire.
Edit: J'ai un doute, quelqu'un peut confirmer ?
Mais ton problème ne vient pas directement de là. Essaies avec:
D'autre part, je ne sais plus si les champs sql sont casse dépendants mais ton champ ID_PARAM est-il écrit en majuscule dans ta table ?
Loïc
- Code: Tout sélectionner
if (isset($_POST['normale']))
Ne va pas vérifier si la case est cochée mais si la variable existe. Or Elle existe dans tous les cas car elle fait partie du formulaire.
Edit: J'ai un doute, quelqu'un peut confirmer ?
Mais ton problème ne vient pas directement de là. Essaies avec:
- Code: Tout sélectionner
statut='".$_POST['normale']."'
D'autre part, je ne sais plus si les champs sql sont casse dépendants mais ton champ ID_PARAM est-il écrit en majuscule dans ta table ?
Loïc
-

SuperCureuil - WRInaute impliqué

- Messages: 664
- Inscription: 9 Mar 2007
Ne va pas vérifier si la case est cochée mais si la variable existe. Or Elle existe dans tous les cas car elle fait partie du formulaire.
Exact.
En plus, dans ce cas, même un !empty ne fonctionne pas ...
je suis intéressé par la soluce car je viens de rencontrer le même hic et je n'ai pas trouvé ...
-

cleden - WRInaute passionné

- Messages: 1194
- Inscription: 6 Jan 2003
hx.jonathan a écrit:Oui c'est écrit en majuscule.
Et que donne ton
- Code: Tout sélectionner
echo "<br/>".$sql;
?
-

SuperCureuil - WRInaute impliqué

- Messages: 664
- Inscription: 9 Mar 2007
Non, un checkbox non coché ne renvoie RIEN.
Ah bon ? En théorie, c'est vrai mais pourtant je viens encore de tester et si
L'id du champ existe via le formulaire, donc même non coché le isset sur le champ renvoie true, et si tu testes avec empty, ça ne passe pas non plus mais là je ne comprends pas pourquoi. Je me suis même renseigné sur le comportement des checkbox et en théorie le non coché ne renvoie rien. Enfin je me plante ss doute qq part
ça va faire boulet là mais tu peux donner un exemple de test sur un checkbox ?
-

SuperCureuil - WRInaute impliqué

- Messages: 664
- Inscription: 9 Mar 2007
D'accord, je ne dis pas que tu as tort, je dis que je l'ai testé tantôt et une heure hier soir sans parvenir à trouver la solution parce que ça passait tout le temps, d'où je pense que je teste mal, d'où je te demande de montrer la manip' que tu fais, tout simplement.
Tu veux bien me la montrer
?
EDIT : je viens de relire le début du post, et en fait ça ne correspond pas à mon problème puisque, effectivement Jeroen, si ce n'est pas coché le champ ne renvoie aucune valeur, mais il existe bel et bien ..., Je me suis mal exprimé
Tu veux bien me la montrer
EDIT : je viens de relire le début du post, et en fait ça ne correspond pas à mon problème puisque, effectivement Jeroen, si ce n'est pas coché le champ ne renvoie aucune valeur, mais il existe bel et bien ..., Je me suis mal exprimé
- jeroen
- WRInaute passionné

- Messages: 2455
- Inscription: 30 Aoû 2002
NON : il n'existe pas, et en GET tu peux t'en rendre compte dans l'url renvoyée
- Code: Tout sélectionner
<?php
foreach($_GET as $k => $v) echo $k." : ".$v."<br />";
?>
<form method="get">
<input type="checkbox" name="test" value="1" <?php if (isset($_GET['test'])) echo "checked=\"checked\""; ?>/><input type="submit" value="Afficher" />
</form>
-

SuperCureuil - WRInaute impliqué

- Messages: 664
- Inscription: 9 Mar 2007
Bon ben je m'incline, ça fonctionne alors que je me suis arraché les cheveux hier parce que cette p... de variable existait toujours
TGrâce à toi je viens de comprendre pourquoi : après ce test je créais une variable de session contenant la valeur en question. En aval, je testais l'existence de la variable de session. Comme je ne la détruisais pas, ben elle existait toujours et j'ai confondu ce checkbox avec la variable de session. CQFD
Donc une checkbox vide ne renvoie bel et bien RIEN
merci et @+
Donc une checkbox vide ne renvoie bel et bien RIEN
merci et @+
12 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- PhpMyAdmin et je coche tous ?
- Onclick sur <tr></tr> = coché un bouton radio
- Ajax et checkbox
- suppression d entrées via checkbox
- valeur (php) et checkbox
- formulaire php checkbox
- Problème avec un tableau de checkbox
- Retenir statut checkbox cohées ou non !!
- Résolu - PHP - Checkbox à récupérer
- checkbox dans une boucle
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

