I’m doing a sort of blogpost/chat site and ran in to a problem where I want to delete a certain post.
And the requirements is that only the user who posted it is able to delete it. Problem is that when I press the “Delete post” button from blogpost.php, it doesnt get deleted and the echo “Error.” gets hit. Can anyone help me understand why?
[I]blogpost.php
$id = intval($_GET[“id”]);
$query = “SELECT * FROM posts WHERE id=$id;”;
$result = mysqli_query($db, $query) or die(‘SQL error’);
//Variables
$row = mysqli_fetch_array($result);
$name = $row[‘name’];
$message = $row[‘message’];
$date = $row[‘date’];
//Echo on screen
echo “<p class=’postmessage’>”;
echo “<span class=’boldtext’>Name:</span> $name – <span class=’boldtext’>Date:</span> $date”;
echo “<br><span class=’boldtext’>Message:</span> ” . $message;
echo “</p>”;
echo “<a class=’submitbutton’ href=’deletepost.php?id=$id’>Delete post</a>”;
//Close database
mysqli_close($db);
[I]deletepost
if(!isset($_SESSION[’email’])){
echo “<p><b>You have to be logged in to delete this.”;
}
if(isset($_SESSION[’email’]))
{
$name = $
$id = intval($_GET[“id”]);
$check = mysql_query(“SELECT * FROM posts WHERE id = $id AND name = ‘$name'”);
if($check){
$query1=mysql_query(“delete FROM posts WHERE id = $id AND name=’$name'”);
echo “<p>Post has been deleted. <a href=’index.php’>Home.</a>”;
}
else{
echo “<p><b>Error.”;
}
}