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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Problème de checkbox dans une session

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Problème de checkbox dans une session

n°1384462
hodjeur
J'ai glissé chef
Posté le 09-06-2006 à 13:49:25  profilanswer
 

Bonjour à tous. Voici mon petit problème, si vous pouviez trouver 5 minutes pour m'aider je vous en serais éternellement reconnaissant.  :jap:  
 
 
J'ai un formulaire html découpé en plusieurs pages, dont certaines contiennent des checkbox. Ces formulaires sont en 'include' dans un fichier index.php. Un gros fichier session.php est inclus au début de 'index.php'.En, gros, a chaque changement de page du formulaire, index.php est rechargé, ce qui provoque l'enregistrement dans la session des variables.   Dans session.php, j'enregistre les valeurs $_POST ['machin'] dans $_SESSION['machin'].  
 
 
Jusque là, pas de problème. Cet enregistrement est effectué si un champ est rempli (isset && !empty), ceci pour éviter d'avoir à pondre un fichier session pour chaque formulaire. Le problème est que je souhaite récupérer les valeurs enregistrées dans la session pour que l'utilisateur n'ait pas à tout resaisir s'il revient sur une page.  
 
J'arrive à afficher une checkbox cochée au chargement d'une page si elle était déjà cochée lors d'un précédent passage sur cette page, mais si l'on veut la décocher celà ne marche plus quand on revient elle est toujours cochée.  
 
 
 
J'ai compris d'où venait le problème (une checkbox vide ne renvoi rien... et ne passe donc pas le test du isset). Si j'enlève ce test, quand je valide une page ou cette checkbox n'existe pas, celà remet ma checkbox en décochée.  
 
J'envisage deux solutions :  
 
1/ Séparer mon fichier session.php en session1.php etc... et les inclures selon les pages (au même titre que les parges du formulaire), mais bon, c'est déjà assez bordélique au niveaux du nombre de mes fichiers et des liens entre eux.
 
2/ Créer des input type="hidden" et changer leur valeur en JS en fonction d'une checkbow cochée ou non. Au moins j'aurais toujours une valeur lors du submit.
 
 
Aucune de ces deux solutions ne me satisfait pleinement, alors si vous avez des idées (ou même si vous trouvez que ce que j'ai raconté n'est pas clair, ce qui est hautement probable...) allez-y ;)
 
Merci d'avance

mood
Publicité
Posté le 09-06-2006 à 13:49:25  profilanswer
 

n°1384880
sielfried
Posté le 09-06-2006 à 21:44:14  profilanswer
 

<input type="hidden" name="tacheckbox" value="0" />
<input type="checkbox" name="tacheckbox" value="1" />
 
Comme ça $_POST['tacheckbox'] est toujours défini, et à 0 si c'est pas sélectionné.
 
Soit dit en passant, !empty et isset sont redondants. !empty suffit.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1385589
hodjeur
J'ai glissé chef
Posté le 12-06-2006 à 09:06:57  profilanswer
 

Ha oui merci le hidden je l'avais placé sous la checkbox avec un javascript pour changer sa value et je n'enregistrait que la valeur du hidden, mais c'est un peu boulet ;). Pour les test , oui c'est grossier mais j'affinerai dans le temps , car ya plein de champs de formulaire et plein de conditions différentes. Encore merci de ton aide


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

  [PHP] Problème de checkbox dans une session

 

Sujets relatifs
URGENT problemeprobleme avec des variables et fwrite
Restauration de BD via PHPProbleme de droits création fichier
(RESOLU) messagebox après un traitement PHP?Pb Authentification PHP
Groupwares en PHP sous GPLpassage d'aguments en PHP ??
[C++]Probleme Logiciel Réseau 
Plus de sujets relatifs à : [PHP] Problème de checkbox dans une session


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