Système supression de commentaires

Utilisateur anonyme -  
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour tout le monde,

j'ai fais un système de commentaire sur mon site web et la je suis entrain de faire un système d'effacement de commentaire accesscible par l'administrateur ou modérateur...

quand j'affiche les commentaires je place un formulaire visible que par certain personne et je place un hidden avec l'id du commentaire et le bouton supprimer

et quand on appuie dessus sa récupère l'id du commentaire et sa le supprimme dans ma base de donnée...

mais au lieu de supprimmer le bon commentaire sa en supprimme un autre :S

affichage des commentaires
________________________________________________________________________
<h4>
<?php
if($_SESSION['grade'] > 2)
{
?>
<form METHOD="post" action="episode.php?id=<?php echo $id; ?>">
<input type="hidden" name="id_supr" value="<?php echo $data['id']; ?>"/>
<input type="submit" name="supprimer" value="Supprimer"/>

<?php
}
else
{}
?>
<u><?php echo htmlspecialchars($data['pseudo']);?></u>
</h4>
<?php
$commentaire = htmlspecialchars($data['message']);
$commentaire = nl2br($commentaire);
echo '<p class="commentaires">'.$commentaire.'</p>';
<?php
}
mysql_free_result ($req);
mysql_close ();
________________________________________________________________________

suppression des commentaires
________________________________________________________________________
if(isset($_POST['supprimer']))
{
$id_supr = $_POST['id_supr'];
mysql_query('DELETE FROM com_episode WHERE id="'.$id_supr.'"');

}
else
{}
________________________________________________________________________


3 réponses

thunder413 Messages postés 169 Statut Membre 23
 
salut
si le champs id de la table com_episode est en autoincrement donc la
la syntaxe est bonne reste a vérifier coté listage sinon le probleme provient de la requete utilise join pour la relier la table "episode"
0
Utilisateur anonyme
 
oui mes id son en autoincrément, mais j'ai deux tables episode et com_episode donc toute façon touts les commentaire auront un id différent et je ne voit pas l'intérêt de joindre les deux table :S

quand on suprimme un épisode, je prend l'id de l'épisode qui et afficher et je fais un DELETE le champ WHERE l'id ... donc je ne voit pas trop se qui est faut :S
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
Tu peux faire ça avec un simple lien.
Dans ta boucle où tu affiches les commentaires :
echo '<a href="suppr_commentaire.php?id='.$data['id'].'">Supprimer ce commentaire</a>';
Et ton fichier suppr_commentaire.php devra ressembler à ça :
<?php
require 'sqlconnect.php';

if(/* Si c'est un modérateur ou un admin */) {
    $sql = 'DELETE FROM commentaires WHERE id = '.(int) $_GET['id'];
    $req = $pdo->exec($sql);
}
header('Location: '.$_SERVER['HTTP_REFERER']);
?>
0