Bonjour,
J’ai une fonction PHP qui récupère une liste de fichiers contenues dans un serveur et ma question se situe au niveau du bouton de suppression du fichier.
J’utilise JavaScript pour faire un appel AJAX et envoyer l’ID et le nom du fichier.
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <?php // Connexion à la base de données $result = $bdd->query('SELECT id, fileName, fileSize FROM table WHERE userId="'.$userId.'"'); while($data = $result->fetch()){ ?> <tr> <td id="file_name"> <?php echo $data['fileName']; ?> </td> <td> <?php echo $data['fileSize']; ?> </td> <td id="file_delete"> <button type="button" onclick="deleteCurrentFile(<?php echo json_encode($data['id']); ?>, <?php echo json_encode($data['fileName']); ?>)" > Supprimer </button> </td> </tr> <?php } $result->closeCursor(); ?>
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Fonction appelant le code de suppression du fichier function deleteCurrentFile(id, fileName) { $.post( "deletefile.php", { id : id, fileName : fileName } ) .done( function() { alert("Suppression effectuée."); }) .fail( function() { alert("Une erreur est survenue lors de la suppression du fichier."); }) .always( function() { alert("Fin de l'opération."); }); }
Ici, j’utilise un onclick dans une balise HTML. Je pense que ce n’est pas une bonne solution, mais c’est la seule que j’ai trouvé pour passer le bon argument (le bon fichier à supprimer) à la fonction JavaScript. D’ailleurs, la structure de mon code JavaScript n’est pas assez propre et je ne sais même pas si elle est correcte puisque le sript plante, mais je n’ai encore compris où.
J’ai vu (FAQ) que je pourrais créer le tableau listant les fichiers en JavaScript, mais je voudrais garder l’utilisation du PHP car il me semble qu’elle propose plus de sécurité.
Partager