[PHP] Passer le nom d'un attribut en parametr

Fermé
Rek - 27 mai 2005 à 05:42
 Rek - 27 mai 2005 à 22:15
Bonjours,

J'ai créé un script php qui me donne une liste de dossiers. A côté de chaques liens, j'y ajoute un "checkbox" ayant comme attribut le nom du dossier. A la fin du formulaire, j'ai mis un bouton "supprimer les éléments sélectionnés". Le formulaire possède l'attribut suivant : action="del.php".

Mon probleme est : Je voudrais prendre les noms des checkbox avec la commande $_GET mais leurs valeurs sont à "on" alors que ce qui m'intéresse réellement est le titre de ces valeurs, afin que je puisse les passer dans une partie de code qui ressemblerait à ceci :

foreach($_GET as $nomDossier)
{
  rmdir($nomDossier);
}


Est ce que quelqu'un peut éclairer ma lanterne ?

6 réponses

Erdnax Messages postés 2273 Date d'inscription mercredi 1 octobre 2003 Statut Contributeur Dernière intervention 1 octobre 2007 497
27 mai 2005 à 08:57
Salut,

Est-ce que l'on pourrait avoir ton script php (del.php) et le code de ton formulaire ?

Merci @+
0
gesCollection.inc.php :
<html>

<head>
<title>Gestion des collections</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<?

function listFolder($folderPath)
{
chdir($folderPath);
$tabDossiers = glob("*", GLOB_ONLYDIR);

// LE FICHIER CONTIENT-IL DES SOUS-RÉPERTOIRES ?
if ($tabDossiers == false)
{
echo "<div class=\"message\">".$folderPath." ne contient aucun fichier";
exit;
}

// NON ? ALORS AFFICHONS LA LISTE
sort($tabDossiers);
echo "<form action=\"del.php\" method=\"post\">\n\t";
foreach($tabDossiers as $nomDossier)
{
echo "<!-- Fichier : ".$nomDossier." -->\n\t";
echo "<div class=\"liste_folder\">\n\t\t";
echo "<img src=\"../img/folder.gif\" border=\"0\">\n\t\t<input name=\"".$nomDossier."\" type=\"checkbox\">\n\t\t";
echo "<a href=\"see.php?path=".$folderPath.$nomDossier."\" target=\"iframe\">".$nomDossier."</a>\n\t</div>\n\t";
}
echo "<!-- BOUTON DE SUPPRESSION -->\n\t";
echo "<br><input type=\"Submit\" value=\"Supprimer les fichiers sélectionnés\">\n";
echo "</form>\n";
}


// Test des commandes
listFolder("../galeries/");
?>

Le fichier del.php ne contient rien puisque je ne puis aller chercher les parametres. Quand le fichier est appellé, dans la bar des taches on peut voir :

del.php?fichier1=on&fichier2=on&.......
0
Salut, je pense que ce que tu veux est :
foreach(...dossiers....) {
echo ...nom dossier...
<input type ="checkbox" name="dossiers[]" value="nomdudossier" ;>
...


ensuite tu as ta variable $_GET['dossiers'] qui est un tableau des cases qui ont été cochées uniquement
$_GET['dossiers'][0], etc...

jspr que ca t'aide ?
0
Neveux cédric Messages postés 18 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 21 juillet 2005 7
27 mai 2005 à 18:23
Effectivement dans ton code tu n'as pas mis de paramètre value="" pour tes checkbox donc tu récupères la valeur "ON" qui signifi que tu as coché la checkbox.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neveux cédric Messages postés 18 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 21 juillet 2005 7
27 mai 2005 à 18:31
Tiens voilà un exemple de code qui fait à peu près ce que tu veux mais pas avec les mêmes fonctions.

J'ai mis un GET dans method= pour voir plus rapidement les paramètres envoyés dans la barre d'adresse. Donc faudra remettre POST.

Pour info je me suis inspiré de la page d'acceuil d'Easyphp pour cet exemple.

<html>

<head>

	<title>Gestion des collections</title>

</head>

<body>
Test
<?php	
$rep =opendir('.');
echo '<form action="del.php" method="GET">';
while ($file = readdir($rep)){	
echo '<br /><input name="'.$file.'" type="checkbox" value=".$file.">';
echo '<a href="./'.$file.'">'.$file.'</a>';
}	
echo '<br><input type="Submit" value="Supprimer les fichiers sélectionnés">';
echo "</form>\n";

	

?>
</body>
</html>

0
Merci tout le monde, effectivement c'est exactement ce que je cherchais!

Un autre pas de plus dans le monde du Php !
0