Aller au contenu

Formulaire checkbox et PHP


Sujets conseillés

Posté

Bonjour,

Lorsque je crée un formulaire en html, les valeurs sont bien envoyées au fichier php qui va les traiter :


<form name="formulaire" method="POST" action="traiter.php">
Choisissez les dates parmi la liste proposée :<br>
<?php echo $datefichier[0] ?><input type="checkbox" name="check[]" value="<?php echo $datefichier[0] ?>"> <br>
<?php echo $datefichier[1] ?><input type="checkbox" name="check[]" value="<?php echo $datefichier[1] ?>"><br>
<input type="submit" name="submit" value="Envoyer">
</form>

Mais lorsque je fais appel à un code php pour créer le formulaire, les valeurs ne passent pas. J'ai besoin de passer par la boucle while car le nombre d'input checkbox est variable.


<form name="f" methode = "POST" action = "traiter.php">
<?php
$datefichier = array_unique ($datefichier);
sort($datefichier);
$longueur = count($datefichier);
$k = 0;
while($k < $longueur)
{
echo $datefichier[$k]." <input type = 'checkbox' name = 'check[]' value = '$datefichier[$k]'><br>";
$k++;
}
?>
<input type = "submit" name = "submit" value = "Envoyer">
</form>

Le fichier qui traite les valeurs est :


<?php
$tabcheck = (isset($_POST['check']))?$_POST['check']:null;
echo "Voici les dates que vous avez choisies :<br>";
if (!empty($tabcheck)) {
foreach($tabcheck as $cle => $valeur) {
echo $cle.' : '.$valeur.'<br>';
}
}
?>

Une remarque : l'envoi avec code php pour créer le formulaire affiche dans la barre d'adresse du navigateur toutes les valeurs envoyées, comme si on employait la méthode GET.

Je vous remercie de vos idées.

Posté

Salut,

<form name="f" methode = "POST" action = "traiter.php">

Tu as écrit methode avec un e, au lieu d'écrire method :rolleyes:

Du coup le formulaire est envoyé en GET et il est normal que la variable $_POST soit vide.

Posté

Merci Ernestine... Il y a des jours où on devrait rester couché... Et dire que je suis depuis plus d'une heure sur ce code !

C'est toute la différence entre une pro qui a l'oeil aiguisé et un amateur qui se débat avec tellement de problèmes qu'il ne voit plus l'évidence...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...