Garder en mémoire case à cocher checked PHP
Résolu
katarina999
Messages postés
68
Date d'inscription
Statut
Membre
Dernière intervention
-
katarina999 Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
katarina999 Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde !
J'ai un petit soucis avec des cases à cocher.
Lorsque je valide mon formulaire, si j'ai des champs mal remplis, j'aimerais que les cases que j'ai cochées restent sélectionnés.
J'ai essayé de procéder de la même manière que mes champs, mais cela ne fonctionne pas.
Voici mon code :
Merci d'avance !
J'ai un petit soucis avec des cases à cocher.
Lorsque je valide mon formulaire, si j'ai des champs mal remplis, j'aimerais que les cases que j'ai cochées restent sélectionnés.
J'ai essayé de procéder de la même manière que mes champs, mais cela ne fonctionne pas.
Voici mon code :
<?php if (isset($_POST['ok'])) { $msg = ''; $nom = ucfirst($_POST["nom"]); $prenom = ucfirst($_POST["prenom"]); $postes = ''; if (empty($nom) or empty($prenom)) { $msg .= 'Remplir tous les champs <br />'; } if (isset($_POST['postes'])) { foreach ($_POST['postes'] as $choix_postes) { $postes .= $choix_postes.' / '; } } else { $msg .= 'Choisir vos postes souhaités <br />'; } if (empty($msg)) { echo 'Nom : '.$nom.'<br />'; echo 'Prénom : '.$prenom.'<br />'; echo 'Postes souhaités : '.$postes; } else echo $msg; } ?> <form method="post" action=""> <p>Nom * : <input name="nom" size="30" maxlength="30" <?php if(isset($nom)) echo 'value="'.$nom.'"'; ?> /></p> <p>Prénom * : <input name="prenom" size="30" maxlength="30" <?php if(isset($prenom)) echo 'value="'.$prenom.'"'; ?> /></p> <p>Poste(s) souhaité(s) * : Chef <input name="postes[]" type="checkbox" value="Chef" /> Sous-chef <input name="postes[]" type="checkbox" value="Sous-chef" /> Sbire <input name="postes[]" type="checkbox" value="Sbire" /></p> <p><input type="submit" value="ok" name="ok"/></p> </form>
Merci d'avance !
A voir également:
- Garder en mémoire case à cocher checked PHP
- Mémoire vive - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- Raccourci clavier case à cocher - Forum Clavier
- Supprimer case à cocher excel ✓ - Forum Excel
- Case a cocher - Forum Word
2 réponses
<?php if(isset($postes)) echo 'checked="checked"'; ?>
évidemment, puisque cette condition ne dépend pas de la ligne. Il faut tester explicitement si cette case était cochée dans le formulaire :
<?php if(isset($_POST['postes'][0]) echo 'checked="checked"'; ?>
<?php if(isset($_POST['postes'][1]) echo 'checked="checked"'; ?>
<?php if(isset($_POST['postes'][2]) echo 'checked="checked"'; ?>
évidemment, puisque cette condition ne dépend pas de la ligne. Il faut tester explicitement si cette case était cochée dans le formulaire :
<?php if(isset($_POST['postes'][0]) echo 'checked="checked"'; ?>
<?php if(isset($_POST['postes'][1]) echo 'checked="checked"'; ?>
<?php if(isset($_POST['postes'][2]) echo 'checked="checked"'; ?>
<?php if(isset($postes)) echo 'checked="checked"'; ?>
Je pense que comme les valeurs des checkbox sont stockées dans la même variable et du coup je me retrouve avec cette erreur.
Y-t-il moyen de vérifier si la variable contient une valeur particulière ? (Par exemple si la variable contient la chaîne de caractère 'Chef' echo 'checked="checked"'; )
Merci de m'avoir répondu.
Kat. 999