C'est toujours pas explicite mais je connais un peu où tu en es.
Si j'étais toi, je ferai simple ! Si tu ne connais pas bien le sujet, c'est le mur assuré. Pour l'Ajax, tu n'es pas obligé pour le moment et c'est surtout une surcouche. Ça ne change pas grand chose. bref, pour ton delete :
1. À chaque itération de ta liste d'articles, tu lui colles un id. Cette id fait parti de l'url. On appelle ça une querystring ou passer des paramètres/valeurs dans l'url. regarde ce que je t'ai écris dans ce
message
2. sur ce lien (avec la querystring), tu vas rajouter un comportement JS basique. Une popin basique indiquant à l'utilisateur, s'il veut bien supprimer cet article.
écriture crade mais qui devrait fonctionner :
<a onclick="confirm('voulez vous vraiment supprimer cet article ?')" href="delete.php?id=<?= $row->id ?>">Supprimer</a>
code fait de tête. Je peux m'être trompé. C'est une piste à suivre
3. Dans ton fichier delete.php, tu vérifies que tu reçois bien l'id via la superglobale $_GET. Après avoir vérifié cela, tu supprimes en base (Je pars du principe que tes données viennent de la base de données) . C'est un truc comme :
<?php
//connection à la base de données avec pdo (https://www.php.net/manual/fr/book.pdo.php)
// ....
// ....
if(!empty($_GET['id']) && is_numeric($_GET['id'])){
$sql = "
DELETE FROM
une_table
WHERE
id = :id
";
$params = [
'id' => $_GET['id']
];
$query = $pdo->prepare($sql);
$query->execute($params);
}
//redirection vers la page initiale
header('location:'.$_SERVER['HTTP_REFERER']);
?>
code fait de tête. Je peux m'être trompé. C'est une piste à suivre
Je pars du principe que le code que je viens de te filer ne doit pas être publique. Si c'est le cas, c'est un code très sommaire et dans ce cas là, il va falloir le protéger (filtrer les données, un md5, etc.).
<<<EDIT
À noter que le code que tu as mis dans ton post précédent ne fonctionne pas toujours. la clef n'est pas toujours disponible suivant la config du serveur. De plus, lorsque l'on fait une requête ajax en utilisant ce genre de chose, il va falloir envoyer dans le header des paramètres supplémentaires.
lien annexe :
http://phpdebutant.org/
EDIT;
Modifié par niuxe (17 Jul 2019 - 21:52)