Php checkbox

Fermé
romanticpeter Messages postés 3 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 13 décembre 2006 - 22 nov. 2006 à 18:42
developper55 Messages postés 123 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 30 mai 2012 - 28 févr. 2008 à 14:55
bon soir,parce que je connais pas très bien php, j'arrive pas obtenir la valeur de checkbox toujours
ici code:

<FORM ACTION="../cgi-bin/redirect.pl" METHOD="POST" >

<SELECT >
<OPTION VALUE="/data_collection_details.php?region=<?php
print("$url_region") ; ?>" >All

<OPTION VALUE="data_collection_details.php?region=<?php
print("$url_region"); ?>
</SELECT>

<INPUT TYPE=SUBMIT VALUE="Go">

<INPUT TYPE=CHECKBOX NAME="chk_warning" value="OK" >

</FORM>

et pour la valeur retoune de checkbox, j'essaye 2 façon

$chk_warning = $_POST['chk_warning'];
$chk_warning = $_GET['chk_warning'];

mais ça marche pas, merci de votre aide,merci d'avance!
A voir également:

4 réponses

Bulb Messages postés 63 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 19 février 2008 18
23 nov. 2006 à 13:20
oui en fait a mon avis, le fichier qui contient le code que php te donne c'est à dire:

<html>
<body>
<pre>
Contenu de $_POST :
<?php
echo var_dump($_POST);
?>

<form action="tst_checkbox.php" method="post">
<input type="checkbox" name="chk_warning" value="OK">
<input type="submit" value="go">
</form>
</body>
</html>


a été mal nommé, vérifie qu'il porte bien le nom "tst_checkbox.php" ou que la cible donnée dans action de ton formulaire est bien le fichierqui contient ce code.

le code est correct mais pas le nom de fichier :-)
1
PhP Messages postés 1770 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 606
22 nov. 2006 à 22:59
Bonsoir,

En fait au niveau des formulaires la valeur d'une case à cocher n'est transmise que si la case est cochée.

Bref ici si chk_warning est cochée alors tu récupères bien en PHP une variables dans $_POST ou dans $_GET (selon que tu as précisé "post" ou "get" dans l'attribut method du formulaire) avec pour nom "chk_warning" et pour valeur "OK" sinon tu ne récupères rien car aucune variable n'est transmise.

Lorsque tu as un doute sur les variables récupérées par PHP le mieux est encore de lister le contenu complet du tableau $_POST ou $_GET : et pour ça PHP dispose d'une fonction toute faite var_dump(). Je m'en sers tout le temps pour déboguer ca fonctionne très bien.

Un petit script tout bête : tst_checkbox.php

<html>
<body>
<pre>
Contenu de $_POST :
<?php
echo var_dump($_POST);
?>

<form action="tst_checkbox.php" method="post">
<input type="checkbox" name="chk_warning" value="OK">
<input type="submit" value="go">
</form>
</body>
</html>


Nota : la balise <pre></pre> sert à préserver la mise en forme de PHP


La valeur pour une checkbox n'a pas beaucoup de sens d'ailleurs.

Le mieux étant d'utiliser une variable booléenne et d'écrire en PHP

$chk_warning = isset($_POST["chk_warning"]);


ou encore si tu tiens à tester la valeur


$chk_warning = (isset($_POST["chk_warning"])) && ($_POST["chk_warning"] ==  "OK") ;
--
PhP  
Il y a 10 types de personnes dans le monde : ceux qui comprennent le binaire et les autres ...
0
romanticpeter Messages postés 3 Date d'inscription mercredi 22 novembre 2006 Statut Membre Dernière intervention 13 décembre 2006
23 nov. 2006 à 11:30
excusez moi, votre scenario de tester fonctionne pas :The requested URL /ramses/supervision/tst_checkbox.php was not found on this server.

j'arrive pas toujours utiliser checkbox, j'ai deja coché la case,mais $_POST["chk_warning"] marche pas, meme je mets checked, il marche pas. merci
0
developper55 Messages postés 123 Date d'inscription vendredi 28 décembre 2007 Statut Membre Dernière intervention 30 mai 2012 9
28 févr. 2008 à 14:55
bonjour,

dans checkbox , on met pas VALUE = OK
<input type="checkbox" checked name="chk_warning">
0