Page 1 sur 1

pb de recup champ avec une checkbox

Posté : 25 mars 2005, 15:52
par philoult
Bonjour, j'ai un champ avec une checkbox et je voudrais que cela renvoi une donnée dans le cas ou la checkbox n'est pas coché? comment faire?

Merci

voici mon bout de code:
pour ma checbox: <input type="checkbox" name="boxosm" value="oui">

et pour la recup de valeur dans ma base sql:
$boxosm = $_POST["boxosm"] ;
donc j'ai juste mis la recup de variable dans le cas ou la case est cochée.
comment faire donc quand la case est vide pour avoir aussi une variable d'envoyé?

Merci

Posté : 25 mars 2005, 15:55
par Cyrano
Si la case n'est pas cochée, on ne la trouvera pas dans la super-globale $_POST.
Donc, teste son existence:
<?php
if(isset($_POST['boxosm']) && $_POST['boxosm'] == "oui")
{
    /* La valeur existe, la case a été cochée: traitement pour "oui" */
}
else
{
    /* La valeur n'existe pas, case non cochée: traitement pour "non" */
}
?>

Posté : 25 mars 2005, 16:29
par Invité
merci pour l'info, je dois donc mettre:

<?php
if(isset($_POST['boxosm']) && $_POST['boxosm'] == "oui")
{
/* La valeur existe, la case a été cochée: traitement pour "oui" */
echo $boxosm = oui
}
else
{
/* La valeur n'existe pas, case non cochée: traitement pour "non" */
echo $boxosm = non
}
?>

et je rerouve mon oui ou mon non dans ma base sql
ou alors je doit mettre:

<?php
if(isset($_POST['boxosm']) && $_POST['boxosm'] == "oui")
{
/* La valeur existe, la case a été cochée: traitement pour "oui" */
$sql_osm = "INSERT INTO osm (boxosm) VALUES (oui)" ;
}
else
{
/* La valeur n'existe pas, case non cochée: traitement pour "non" */
$sql_osm = "INSERT INTO osm (boxosm) VALUES (non)" ;
}

/* avec ma requete en ajout de celle que j'ai deja pour d'autre champ du formulaire */
$requete = mysql_query($sql,$sql_osm,$cnx) or die( mysql_error() ) ;
?>

:?

Posté : 25 mars 2005, 16:40
par Cyrano
Quelque chose dans ce goût là, oui.
Attention à la syntaxe quand même :
- N'oublie pas les ";" en fin de ligne d'instruction.
- Encadre les chaines de caractères dans le code PHP avec des " " ou des ' ' à la rigueur.
<?php
if(isset($_POST['boxosm']) && $_POST['boxosm'] == "oui")
{
/* La valeur existe, la case a été cochée: traitement pour "oui" */
    $boxosm = "oui";
    echo($boxosm);
}
else
{
/* La valeur n'existe pas, case non cochée: traitement pour "non" */
    $boxosm = "non";
    echo($boxosm);
}
?>
Pour la suite, l'idée est là, il te reste à faire fonctionner tout ça.

Posté : 25 mars 2005, 16:46
par Invité
merci pour aide, je vais teste ça.