今、私は自分のネットワークから投稿を削除できるPHPスクリプトを手に入れました。しかし、今、誰もがすべての投稿を削除することができますログインしている場合は、私は投稿の作者に制限したいので、彼らは自分の投稿を削除することができます。これどうやってするの?ポストが表示されているメインページで投稿を削除して投稿の投稿者に制限する
<?php
session_start();
if (empty($_SESSION['user_id'])) {
header('Location: index.php');
exit;
}
$user_id = $_SESSION['user_id'];
include "connect.php";
if(isset($_GET['id'], $user_id))
{
mysqli_query($GLOBALS["___mysqli_ston"], "DELETE FROM posts WHERE id=".$_GET['id']);
mysqli_query($GLOBALS["___mysqli_ston"], "UPDATE users SET posts = posts - 1 WHERE id='$user_id' ");
header("location: index.php");
}
mysqli_connect();
?>
、ボタンは次のように表示されます:
<a href=\"delete.php?id=" . $postid . "\"> Delete </a>
それを
は、これは私のdelete.phpは、それがどのように見えるかですpostid自体を見つけます。私は2つのテーブル、ユーザと投稿を持っています。両方とも列user_idを持つので、ポストテーブルはusers_idと同じuser_idを取得します。
まずSQLインジェクションを閉じます。パラメータ化されたクエリを使用します。クエリに 'とauthorid =?'を追加し、 '$ _SESSION ['user_id']'をそれに渡すか、投稿の所有者を関連づけます。 – chris85
最初にログインしたユーザーのみが編集または削除できるかどうかを確認する必要があります。まず、クエリを使用して投稿テーブルのユーザーを確認します。 –
クリックする人がクリックを表すものを何でもすることが許可されているかどうかを確認してください。それはデータベースの問題ではありません。それは強制するあなたのコードまでです。 –