Bonjour à tous. Voici mon petit problème, si vous pouviez trouver 5 minutes pour m'aider je vous en serais éternellement reconnaissant.
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