我正在尝试登录的用户可以删除自己的帖子,这样他才能看到帖子上的删除按钮。我自己想,我必须绑定登录到posts / img ID的用户然后他应该看到按钮。我有点挣扎于此,所以每个有用的评论都表示赞赏!
PHP
<?php
$result = $mysqli->query("SELECT users.user_id, users.username,
picas.img_id, picas.user_id, picas.name, picas.description, picas.created_at
FROM users
JOIN picas ON users.user_id = picas.user_id
ORDER BY picas.created_at DESC");
while($pica = $result->fetch_assoc()) {
$ses_user = $_SESSION['username'];
echo '<div class="image_post">';
if(isset($ses_user) == $pica['user_id'] && $pica['img_id']) {
echo '<form action="logic/delete_post.php?id='.$pica['img_id'].'" method="POST">
<input type="hidden" name="id" value="?id='.$pica['img_id'].'" />
<input type="submit" name="deleteSubmit" value="Delete" class="delete_post" />
</form>';
}
echo '<div class="user_avatar"><img src="avatars/'.$pica['username'].'.jpeg" /></div>
<div class="user_name">'.$pica['username'].'</div> <br><br><br><br>
<div class="timeago">'.$diff.'</div>
<div class="image_description">'.$pica['description'].'</div>
<img src="'.$pica['name'].'" />
<div class="clear"></div>
</div>';
}
?>
答案 0 :(得分:0)
您的问题是,您正在检查isset($ses_user) == $pica['user_id']
是isset()返回bool
的函数。
您要检查的是当前用户是否为所有者。
正确的条件应该是:
...
if(isset($ses_user) && ($ses_user == $pica['username']) && $pica['img_id']) {
echo '<form action="logic/delete_post.php?id='.$pica['img_id'].'" method="POST">
<input type="hidden" name="id" value="?id='.$pica['img_id'].'" />
<input type="submit" name="deleteSubmit" value="Delete" class="delete_post" />
</form>';
}
...