DELETE unlink
Résolu
delaville81
Messages postés
209
Statut
Membre
-
delaville81 Messages postés 209 Statut Membre -
delaville81 Messages postés 209 Statut Membre -
Bonjour,
J'ai un problème de suppression dont je ne comprends pas la raison.
Requête DELETE
Lors du clic sur n'importe quel bouton "Supprimer", il supprime toujours le premier de la liste (de la base et du serveur).
Je n'arrive pas à résoudre de bug
Merci de votre aide
J'ai un problème de suppression dont je ne comprends pas la raison.
<table class="table table-striped"> <tbody> <?php $ledossier = $_GET['id']; $fic = "fichiers/".$ledossier; $sql_doc = 'SELECT * FROM doc WHERE id_parc = "'.$ledossier.'" ORDER BY nom'; $pdo->exec('SET NAMES utf8'); $resultat = $pdo->query($sql_doc); while($var = $resultat->fetch()){ ?> <tr> <th scope="row"><?php echo $var['nom']; ?></th> <td class="space_around"><a class="btn btn-primary" href="<?php echo $fic."/".$var['fichier']; ?>" target="_blank">Afficher</a> <form id="formDoc" action="gestion_parc.php" method="post" enctype="multipart/form-data"> <input type="hidden" name="ledossier" value="<?php echo $ledossier; ?>"> <input type="hidden" name="id_doc" value="<?php echo $var['id']; ?>"> <input type="hidden" name="fichier" value="<?php echo $var['fichier']; ?>"> <input type="submit" form="formDoc" class="btn btn-danger" name="delete" value="Supprimer" onclick="if(!confirm('Etes-vous sûr de vouloir supprimer <?php echo $var['fichier']; ?> ?')) return false;"> </form> </td> </tr> <?php } ?> <tbody> </table>
Requête DELETE
if(isset($_POST['delete'])){ $ledossier = $_POST['ledossier']; $id_doc = $_POST['id_doc']; $fichier = $_POST['fichier']; $fic = "fichiers/".$ledossier; $todelete = $fic."/".$fichier; $reqdel = 'DELETE FROM doc WHERE id = :id'; $data = array(':id'=>$id_doc); try{ $requete = $pdo->prepare($reqdel); $requete->execute($data); unlink("fichiers/".$ledossier.'/'.$fichier.""); } catch(Exception $e){ echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($data); } header('Location: gestion_parc.php?id='.$ledossier .''); }
Lors du clic sur n'importe quel bouton "Supprimer", il supprime toujours le premier de la liste (de la base et du serveur).
Je n'arrive pas à résoudre de bug
Merci de votre aide
Configuration: Macintosh / Chrome 98.0.4758.109
A voir également:
- DELETE unlink
- Hiberfil.sys delete - Guide
- Just delete me - Guide
- *#9900# delete dumpstate/logcat ✓ - Forum Samsung
- Delete doctor - Télécharger - Divers Utilitaires
- Delete boot option traduction ✓ - Forum Windows 7
2 réponses
Bonjour,
Un ID se doit d'être unique.
Dans ton code... tous les formulaires ont le même ID ..
et vu que tu cibles l'id du form dans ton bouton.. c'est toujours le premier qui est envoyé.
Pour palier à ça .. soit tu mets un ID différents à chacun de tes form .. soit tu retires cet attribut dans ton bouton ( form="formDoc" )
Un ID se doit d'être unique.
Dans ton code... tous les formulaires ont le même ID ..
<form id="formDoc"
et vu que tu cibles l'id du form dans ton bouton.. c'est toujours le premier qui est envoyé.
<input type="submit" form="formDoc"
Pour palier à ça .. soit tu mets un ID différents à chacun de tes form .. soit tu retires cet attribut dans ton bouton ( form="formDoc" )