Lire une checkbox...

Schtroumpf_Codeur Messages postés 13 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 29 avril 2008 - 29 avril 2008 à 00:56
Schtroumpf_Codeur Messages postés 13 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 29 avril 2008 - 29 avril 2008 à 12:39
    Bonsoir,

    J'ai sur une page une boucle dans laquelle j'écris une liste de cette manière:

echo '[',$fich,' ',$recette,']';

    Jusque là tout va bien, après ma boucle un bouton submit m'envoi vers une page *.php sur laquelle je souhaite en fait créer une autre boucle dans laquelle je reprendrait les checkbox une par une pour verifier leur état et si besoin faire quelques manips.
    C'est sur ce point que je coince, comment dois-je faire pour lire l'état de ses case ? qqun m'a parlé de $_reqest mais je sèche un peu en fait...

    Merci d'avance.

4 réponses

nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010
29 avril 2008 à 01:10
Salut !

J'ai peut-être un début de solution pour toi... voici un lien qui pourra peut-être te servir : http://www.creation-du-web.com/honolulu/cours-html-javascript-php4.html

Cordialement,
Nanti
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
29 avril 2008 à 08:23
Hello,

@nanti => ton lien date d'une époque extrèmement reculée...cela fait belle lurette qu'on ne fonctionne plus ainsi avec PHP. Merci à tout le monde de ne PAS s'appuyer sur ce lien.
@schtroumpf_codeur => une présentation rapide sur www.php.net
En gros, si to formualire (balise form) a un attribut method et que sa valeur est POST, utilise $_POST. Si sa valeur est GET ou que tu n'as pas mis cet attribut, utilise $_GET.
avec ton code : echo $_POST[$recette]...si tant est que tu saches ce que vaut $recette à ce moment là, évidemment...il n'est jamais une très bonne idée de donner un nom dynamique a une variable, à moins de savoir exactement ce que tu fais. L'autre problème de ton petit code est que ta case à cocher n'a pas de valeur. à mon avis, ce devrait plutôt être :
$recette
en gros.
Et tu récupères la recette cochée dans $_POST['recette']
Mais à mon avis, un tuto plus approffondi sur les formulaires ne serait pas du luxe.
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
29 avril 2008 à 09:10
Salut,

Pour le $_REQUEST laisse tomber, $_REQUEST c'est comme $_POST et $_GET sauf qu'au lieu de ne retourner que le tableau des elements passée en post / get il retourne le tableau de tout les éléments envoyé quelque soit la methode d'envoie !!!

a++

Si t'a besoin d'aide, MP !!!
0
Schtroumpf_Codeur Messages postés 13 Date d'inscription dimanche 12 mars 2006 Statut Membre Dernière intervention 29 avril 2008
29 avril 2008 à 12:39
Merci pour vos réponse, je pense epandant n'avoir pas été clai sur ce que je souhaitais faire, voici une version plus explicite de mon problème:

fichier principal:

<html>

<form method="post" action="./suppr.php">

<?php

$rep = dir("./");
while (false !($fich $rep->read())) { //boucle permettant de lire les recettes au format html et d'en aficher le nom
    $recette = strtok($fich,".");
    $f_type = strtok(".");    if ($recette !false && $f_type "html") {
        echo ' [',$fich,' ',$recette,']
'; // afichage de la liste et de la chkbox de suppresion
        echo '
'; //afichage d'une interligne pour clarifier la liste
    }
}

$rep->close();

echo '

'; //bouton qui (devrait) permettre d'éxécuter un script pour supprimer les fichier html cochés

?>

</form>

</html>

Ici j'afiche une liste avec la possibilité de supprimer certaines recettes par selection dans une checkbox et un bouton "supprimer" qui renvoi au script suivant:

<?php
$rep = dir("./");
while (false !($fich $rep->read())) {
    $recette = strtok($fich,".");
    echo "
/!\\ TEST DEBUT /!\\
";
    echo "test $_POST[$recette] test";//dans le meillur des cas je voudrais qu'il me sorte un "true" ou un "false" pour lui demander ou non de supprimer le fichier correspondant
    echo "
/!\\ TEST FIN /!\\
";
}

$rep->close();
?>

Bien évidemment il s'agit d'un script de test avec lequel j'essai de comprendre le comportement de mes checkbox avant de scripter réellement la suppression des fichiers. Il me retourne ceci au lieu de l'état des checkbox:

/!\ TEST DEBUT /!\
test test
/!\ TEST FIN /!\

J'ésperais plutôt ceci:

/!\ TEST DEBUT /!\
test True(ou False) test
/!\ TEST FIN /!\

Voili voilou, en esperant vous avoir suffisement éclairé sur ma demande, merci à ceux qui ont déjà pris la peine de me répondre. :)
0