DELETE unlink
Résolu
delaville81
Messages postés
195
Date d'inscription
Statut
Membre
Dernière intervention
-
delaville81 Messages postés 195 Date d'inscription Statut Membre Dernière intervention -
delaville81 Messages postés 195 Date d'inscription Statut Membre Dernière intervention -
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
- Juste delete me - Guide
- *#9900# delete dumpstate/logcat ✓ - Forum Samsung
- Delete doctor - Télécharger - Divers Utilitaires
- Delete dumpstate/logcat en francais - Forum Samsung
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" )