Schtroumpf_Codeur
Messages postés13Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention29 avril 2008
-
29 avril 2008 à 00:56
Schtroumpf_Codeur
Messages postés13Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention29 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...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 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.
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 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 !!!
Schtroumpf_Codeur
Messages postés13Date d'inscriptiondimanche 12 mars 2006StatutMembreDernière intervention29 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. :)