我在第二天(第16小时)试图让我的删除按钮用PHP做我想做的事。我的网站是具有用户个人资料的社交网络。用户可以对其他用户个人资料发表评论。我试图在指定区域中放置一个删除链接,只有在您查看自己的个人资料时才会显示,并在您查看其他个人资料时离开。我也不想做一个删除确认页面。我希望页面重新加载,选择删除的评论消失,并发送到标记为死的我的数据库。这就是我到目前为止所做的:
<?php
$query = "SELECT * FROM `ProfileComments` WHERE `ToUserID` = '".$prof->id."' ORDER BY `date` DESC, `time` DESC LIMIT 10";
$request = mysql_query($query,$connection);
while($result = mysql_fetch_array($request)) {
$poster = new User($result['FromUserID']);
echo "<div id='CommentProfile'>";
echo "<div id='CommentPhotoProfile'>";
echo "<a href='http://www.blah.org/Profile.php?id=".$poster->id."'>";
echo "<img src='" . $poster->img('mini') . "' border='0'/>";
echo "</a>";
echo "</div>";
echo "<div id='ProfileCommentBody' class= 'round_10px'>";
echo "<div id='CommentNameProfile'>";
echo "<div class='ProfileCommentTail'> </div>";
echo "<a href='http://www.blah.org/Profile.php?id=".$poster->id."'>";
echo $poster->first_name. " ". $poster->last_name. " <span style='font-weight:normal'>says...</span>";
echo "</a>";
echo "</div>";
echo stripslashes(nl2br($result['commentProfileBody']));
echo "<div id='CommentInfoProfile'>";
echo date('M d, Y',strtotime($result['date']));
echo " at " . date('g:i A',strtotime($result['time']));
if ($poster->id == $prof->id)
echo "<a href='http://www.blah.org/DeleteComment.php?id=".$prof->id."'>";
echo " delete";
echo "</a>";
echo "</div>";
echo "</div>";
echo "</div>";
}
?>
我是否需要在我已经拥有的评论构成下面进行单独的查询? 我是否需要添加该查询? 如何在用户查看自己的页面时才显示删除按钮? 如何在我选择删除注释后将注释重新加载并在db中将其标记为死?
提前谢谢
答案 0 :(得分:2)
如果您在删除权限授权后所做的一切都是隐藏或不隐藏按钮,请注意。
如果用户想出另一种调用删除操作的方法,那么这种授权检查将不起作用。例如,如果您的实现使用编码delete命令的“删除URL”,并且您的按钮仅POST到该URL,则当隐藏按钮时,用户可以手动发布删除命令。
答案 1 :(得分:2)
填写您的变量:
if ($current_user_id == $profile_user_id)
echo '<a href="deletelink">delete</a>';
答案 2 :(得分:1)
这是非常蹩脚的代码,但只是一个随机的想法,因为你真的没有给我们任何工作。 把它当成它:
function getPageUserID()
{
return $_GET['userID'];
}
if ($user->userID == getPageUserID())
{
//show delete button
echo '<button value="Delete">Delete</button>';
}