Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1474 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  checkbox ne fonctionne pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

checkbox ne fonctionne pas

n°1614966
fourniey
Rendre au prochain
Posté le 25-09-2007 à 12:34:30  profilanswer
 

Bonjour,
 
J'ai une case à cocher dont je ne réussis pas à sauvergarder. Le type est tinyint(1)
 
Saisie

Code :
  1. $commandite = $var['commandite'];
  2.             <td align="center">
  3.             <input type='checkbox' name='commandite' value="<?php if ($commandite=='1') {echo 'checked="checked"';}?>">
  4.             </td>
  5.             <td><strong>Mon employeur possède un programme de commandite</strong></td>


 
traitement

Code :
  1. $commandite = $_POST['commandite'];
  2. if(!empty($commandite)){
  3.  $commandite = 1;
  4. }
  5. else
  6. {
  7. $commandite = 0;
  8. }
  9. Le update se fait plus tard.
  10. mysql_query ("UPDATE ATS_membre SET `fete`='$fete',`mdp`='$mdp',`adresse`='$adresse', `ville`='$ville', `codep`='$codep', `t_res`='$t_res', `t_trav`='$t_trav', `t_cell`='$t_cell', `mail`='$mail',
  11. `employeur`='$employeur', `e_courriel`='$e_courriel',`commandite`='$commandite' WHERE pseudo='$pseudo_session'" );

mood
Publicité
Posté le 25-09-2007 à 12:34:30  profilanswer
 

n°1614975
skeye
Posté le 25-09-2007 à 12:49:35  profilanswer
 

et ta question c'est quoi?


Message édité par skeye le 25-09-2007 à 12:49:42

---------------
Can't buy what I want because it's free -
n°1614979
fourniey
Rendre au prochain
Posté le 25-09-2007 à 12:51:37  profilanswer
 

à l'affiche, tout est ok mais quand j'enregistre, le résultat n'est pas conservé dans la table.

n°1614983
skeye
Posté le 25-09-2007 à 12:52:41  profilanswer
 

et que retourne ton mysql_query?[:dawao]


---------------
Can't buy what I want because it's free -
n°1614990
fourniey
Rendre au prochain
Posté le 25-09-2007 à 12:58:12  profilanswer
 

Je n'ai pas d'erreur!

n°1614996
skeye
Posté le 25-09-2007 à 13:02:23  profilanswer
 

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?


---------------
Can't buy what I want because it's free -
n°1614997
fourniey
Rendre au prochain
Posté le 25-09-2007 à 13:05:24  profilanswer
 

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;

n°1614998
skeye
Posté le 25-09-2007 à 13:09:17  profilanswer
 

et tu le passes bien en POST, ton formulaire?


---------------
Can't buy what I want because it's free -
n°1615008
fourniey
Rendre au prochain
Posté le 25-09-2007 à 13:20:36  profilanswer
 

oui,
 
<form method="POST" action="ent_iden_maj.php" enctype="multipart/form-data">

n°1615009
skeye
Posté le 25-09-2007 à 13:22:59  profilanswer
 

print_r($_POST) avant ton  
 $commandite = $_POST['commandite']; ça conne quoi?


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 25-09-2007 à 13:22:59  profilanswer
 

n°1615014
fourniey
Rendre au prochain
Posté le 25-09-2007 à 13:30:19  profilanswer
 

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.

n°1615017
anapajari
s/travail/glanding on hfr/gs;
Posté le 25-09-2007 à 13:33:09  profilanswer
 

J'aurais tendance à dire que le probleme vient de là

Code :
  1. Le update se fait plus tard.


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 :
  1. $commandite = $_POST['commandite'];
  2.         if(!empty($commandite)){
  3.             $commandite = 1;
  4.         }
  5.         else
  6.         {
  7.         $commandite = 0;
  8.         }


peuvent aisement se remplacer par

Code :
  1. $commandite = empty($_POST['commandite'])?0:1;



Message édité par anapajari le 25-09-2007 à 13:35:30
n°1615018
skeye
Posté le 25-09-2007 à 13:34:11  profilanswer
 

il n'y a pas de commandite, dans ton $_POST...il est bien dans le formulaire? Envoie le code complet...


---------------
Can't buy what I want because it's free -
n°1615022
fourniey
Rendre au prochain
Posté le 25-09-2007 à 13:37:20  profilanswer
 

oui, j'ai fait un test en le changeant de nom (q1)

n°1615026
skeye
Posté le 25-09-2007 à 13:41:54  profilanswer
 

han mais j'ai pas fait gaffe, c'est juste crétin. Tu lui donnes aucune valeur, donc dans post il vaudra toujours vide...[:moule_bite]


---------------
Can't buy what I want because it's free -
n°1615029
fourniey
Rendre au prochain
Posté le 25-09-2007 à 13:47:54  profilanswer
 

si je coche la valeur n'est pas automatiquement conservé dans commandite.

n°1615030
skeye
Posté le 25-09-2007 à 13:49:14  profilanswer
 

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.


---------------
Can't buy what I want because it's free -
n°1615031
anapajari
s/travail/glanding on hfr/gs;
Posté le 25-09-2007 à 13:49:15  profilanswer
 

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...[:moule_bite]


exacte :o
sauf que c'est encore pire, il lui donne n'importe quoi comme valeur:

Code :
  1. <input type='checkbox' name='commandite' value="<?php if ($commandite=='1') {echo 'checked="checked"';}?>">


On se retrouve donc avec
si commandite vaut 1

Code :
  1. <input type='checkbox' name='commandite' value="'checked="checked"'/>


si commandite vaut 0

Code :
  1. <input type='checkbox' name='commandite' value=""/>
 

edit: [:benou_grilled]


Message édité par anapajari le 25-09-2007 à 13:49:43
n°1615032
skeye
Posté le 25-09-2007 à 13:51:02  profilanswer
 

'fin bref, quoi qu'il arrive avant de venir pleurer sur un forum on commence par regarder comment c'est censé fonctionner, bordel.[:dawao]


---------------
Can't buy what I want because it's free -
n°1615035
fourniey
Rendre au prochain
Posté le 25-09-2007 à 13:54:33  profilanswer
 

exactement ce que j'ai fait ici: http://www.swsysteme.com/tutos/tutocase.php
 
1.Utilisation simple

n°1615036
skeye
Posté le 25-09-2007 à 13:56:17  profilanswer
 

fourniey a écrit :

exactement ce que j'ai fait ici: http://www.swsysteme.com/tutos/tutocase.php
 
1.Utilisation simple


bah regarde mieux. Ton code ne génère pas du tout le formulaire donné en exemple.


---------------
Can't buy what I want because it's free -
n°1615046
fourniey
Rendre au prochain
Posté le 25-09-2007 à 14:10:52  profilanswer
 

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.

n°1615179
naceroth
Posté le 25-09-2007 à 16:51:12  profilanswer
 

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"'
 
Dans le traitement, je me suis dit, si $commandite est vide, je mets 0 sinon, je mets 1.


 
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 ?

n°1615218
fourniey
Rendre au prochain
Posté le 25-09-2007 à 17:44:52  profilanswer
 

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.


Message édité par fourniey le 25-09-2007 à 17:52:27
n°1615314
fourniey
Rendre au prochain
Posté le 26-09-2007 à 00:33:50  profilanswer
 

Merci, je vais trouvé ce soir!

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  checkbox ne fonctionne pas

 

Sujets relatifs
[FLASH] Preloader en ligne de fonctionne paCheckbox grisée ?
[asp.NET][C#] Site fonctionne en local mais pas a distanceRequetes MATCH qui ne fonctionne pas, probleme d'index
Vérifier si un checkbox est coché ?afficher image avec un checkbox - besoin d'exemple
[résolu] script java qui ne fonctionne pas sous Internet explorer[Resolu] C# TreeNode CheckBox
Script VBscript qui ne fonctionne pas[Résolu] Formulaire : Pb réaffichage valeur checkbox
Plus de sujets relatifs à : checkbox ne fonctionne pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR