checkbox ne fonctionne pas - PHP - Programmation
Marsh Posté le 25-09-2007 à 12:49:35
et ta question c'est quoi?
Marsh Posté le 25-09-2007 à 12:51:37
à l'affiche, tout est ok mais quand j'enregistre, le résultat n'est pas conservé dans la table.
Marsh Posté le 25-09-2007 à 12:52:41
et que retourne ton mysql_query?
Marsh Posté le 25-09-2007 à 13:02:23
http://fr.php.net/manual/fr/function.mysql-query.php
Citation : Pour les autres types de requêtes, UPDATE, DELETE, DROP, etc., mysql_query() retourne TRUE en cas de succès ou FALSE en cas d'erreur. |
Il se passe quoi dans ton cas?
Marsh Posté le 25-09-2007 à 13:05:24
true, au début du traitement, j'ai fait afficher le contenu de ma variable et même si je l'ai coché précdemment, elle esst vide.
$commandite = $_POST['commandite'];
echo $commandite;
Marsh Posté le 25-09-2007 à 13:09:17
et tu le passes bien en POST, ton formulaire?
Marsh Posté le 25-09-2007 à 13:20:36
oui,
<form method="POST" action="ent_iden_maj.php" enctype="multipart/form-data">
Marsh Posté le 25-09-2007 à 13:22:59
print_r($_POST) avant ton
$commandite = $_POST['commandite']; ça conne quoi?
Marsh Posté le 25-09-2007 à 13:30:19
Array ( [MAX_FILE_SIZE] => 1048576 [mdp] => [fete] => 0000-00-00 [adresse] => [ville] => [codep] => [t_res] => [t_trav] => [t_cell] => [mail] => [employeur] => [e_courriel] => [q1] => [Submit] => Enregistrer mes informations )
Bizarrement, avant d'ajouter, cet écran fonctionnait très bien.
Marsh Posté le 25-09-2007 à 13:33:09
J'aurais tendance à dire que le probleme vient de là
Code :
|
Je crainds que ton initialisation de la variable commandite ne soit pas globale à ton script et qu'à l'endroit ou tu effectues ton update celle-ci ne soit pas initialisée.
Probablement un if/else avec l'initalisation dans le if et l'utilisation dans le else.
Par ailleurs ces 6 lignes:
Code :
|
peuvent aisement se remplacer par
Code :
|
Marsh Posté le 25-09-2007 à 13:34:11
il n'y a pas de commandite, dans ton $_POST...il est bien dans le formulaire? Envoie le code complet...
Marsh Posté le 25-09-2007 à 13:41:54
han mais j'ai pas fait gaffe, c'est juste crétin. Tu lui donnes aucune valeur, donc dans post il vaudra toujours vide...
Marsh Posté le 25-09-2007 à 13:47:54
si je coche la valeur n'est pas automatiquement conservé dans commandite.
Marsh Posté le 25-09-2007 à 13:49:14
Regarde le html que tu génères. Ton value est vide. Toujours. Ou alors contient une chaine de caractères qui ne vaut ni 0 ni 1.
Marsh Posté le 25-09-2007 à 13:49:15
skeye a écrit : han mais j'ai pas fait gaffe, c'est juste crétin. Tu lui donnes aucune valeur, donc dans post il vaudra toujours vide... |
exacte
sauf que c'est encore pire, il lui donne n'importe quoi comme valeur:
Code :
|
On se retrouve donc avec
si commandite vaut 1
Code :
|
si commandite vaut 0
Code :
|
edit:
Marsh Posté le 25-09-2007 à 13:51:02
'fin bref, quoi qu'il arrive avant de venir pleurer sur un forum on commence par regarder comment c'est censé fonctionner, bordel.
Marsh Posté le 25-09-2007 à 13:54:33
exactement ce que j'ai fait ici: http://www.swsysteme.com/tutos/tutocase.php
1.Utilisation simple
Marsh Posté le 25-09-2007 à 13:56:17
fourniey a écrit : exactement ce que j'ai fait ici: http://www.swsysteme.com/tutos/tutocase.php |
bah regarde mieux. Ton code ne génère pas du tout le formulaire donné en exemple.
Marsh Posté le 25-09-2007 à 14:10:52
Je suis partie de cela mais je voulais cocher la case si la table contenait 1 alors, de là est apparu: <?php if ($commandite=='1') {echo 'checked="checked"'
Dans le traitement, je me suis dit, si $commandite est vide, je mets 0 sinon, je mets 1.
Marsh Posté le 25-09-2007 à 16:51:12
fourniey a écrit : Je suis partie de cela mais je voulais cocher la case si la table contenait 1 alors, de là est apparu: <?php if ($commandite=='1') {echo 'checked="checked"' |
Euh, fourniey, tu es sûrement un gars sympa, mais tu tiens du boulet par moment.
A aucun moment je ne t'ai dit de placer le bout de code que je t'avais donné dans le value de ton input. Le dernier exemple "ça marche pas" que tu donnais, la portion de code était fichue au bon endroit, pourquoi diable est-ce que tu t'amuses à le changer de place 2 jours plus tard alors que tu n'as (visiblement) qu'une idée très sommaire de ce que tu fais ?
Marsh Posté le 25-09-2007 à 17:44:52
oups, on parle de deux choses différentes.
Je l'ai utilisé pour afficher dans un sondage et là, je l'utilise pour une case à cocher.
Une chose est sure, je m'améliore à force d'étudier.
Marsh Posté le 25-09-2007 à 12:34:30
Bonjour,
J'ai une case à cocher dont je ne réussis pas à sauvergarder. Le type est tinyint(1)
Saisie
traitement