Pb Suppression d'un fichier via un menu déroulant

zoolians Messages postés 8 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 17 septembre 2009 - 17 sept. 2009 à 19:04
zoolians Messages postés 8 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 17 septembre 2009 - 17 sept. 2009 à 21:04
Bonjour,
Je me tourne vers vous afin de me tirer d'un bug dont je ne connais pas l'origine...
Je souhaite supprimer un fichier serveur choisi via un menu déroulant.
J'ai un formulaire qui liste le contenu d'un dossier serveur dans un menu déroulant :
<form method="post" action="requetes.php" name="suppr_photo" id="suppr_photo" enctype="multipart/form-data">
<select name="select">
<? //liste des photos
if ($handle = opendir('../pg/photos')) { 
    while (false !($file readdir($handle))) {
        echo "<option>$file</option>";
    }
    closedir($handle);
}
?>
</select>
   
    

Mon formulaire envoie donc la valeur choisie au fichier requetes.php qui en fait ça :
switch ($_POST[action]) {
case 6 : // suppression d'une photo
if (is_file('../pg/photos/'.$_POST[select])) { // si la photo est dans le répertoire
unlink('../pg/photos/'.$_POST[select]);//je la supprime
$ok=1;
}
break;
}

... la valeur $ok me permet de savoir si l'action s'est bien faite, et en l'occurrence elle reçoit O puisque je reçois un message d'erreur et la suppression ne se fait pas.
A priori ce n'est pas un pb d'attributs des fichiers photos, j'ai testé en leur apposant le "777", sans succés.
Quelqu'un voit l'erreur ?
Merci d'avance,
Christmas

2 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 sept. 2009 à 19:40
Salut zoolians,

Je n'ai que très brièvement parcouru, mais commence déjà par activer l'affichage des erreurs en mettant ça tout en haut de chaque page :
<?php
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);
?>


Ca te permettra de corriger les erreurs de syntaxe, comme $_POST[action]

Tu as bien d'autres erreurs :
"action" n'existe pas
<? s'écrit <?php
etc ...

Ajoute des echo et print_r pour le debug, ça te permettra de contrôler visuellement tes variables.

Cordialement,

Kohntark -
0
zoolians Messages postés 8 Date d'inscription jeudi 30 août 2007 Statut Membre Dernière intervention 17 septembre 2009
17 sept. 2009 à 21:04
Bonsoir,

Merci de ta réponse : c'est le action qui n'était pas bon en effet :-s
Bien pratique le petit code pour afficher les erreurs en tous cas !
Même si ça marche les erreurs d'actions non déclarées (action et select)continuent de s'afficher, est ce que je dois récupérer les valeurs à chaque fois pour résoudre le problème ? Par exemple pour action :
$action=$_POST[action];
?

Christmas
0
Rejoignez-nous