显示登录的特定用户的删除按钮

时间:2014-06-11 11:42:57

标签: php sql login

我正在尝试登录的用户可以删除自己的帖子,这样他才能看到帖子上的删除按钮。我自己想,我必须绑定登录到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>';

}

?>

1 个答案:

答案 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>';
}
...