Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在我想要的地方有一个删除按钮_Php_Html - Fatal编程技术网

Php 在我想要的地方有一个删除按钮

Php 在我想要的地方有一个删除按钮,php,html,Php,Html,它链接到一个“确认评论删除页面”。理想情况下,我希望它只是被擦除,让页面重新加载,然后将它发送到我的数据库标记为死 基本上,用户有一个允许其他用户发表评论的配置文件。在PHP的帮助下,我希望只有当用户查看他们的配置文件时,删除按钮才会出现 这就是我到目前为止所做的: $query = "SELECT * FROM `ProfileComments` WHERE `ToUserID` = '".$prof->id."' ORDER BY `date` DESC, `time` DESC LI

它链接到一个“确认评论删除页面”。理想情况下,我希望它只是被擦除,让页面重新加载,然后将它发送到我的数据库标记为死

基本上,用户有一个允许其他用户发表评论的配置文件。在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.blahblah.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'>&nbsp;</div>";
    echo "<a href='http://www.blahblah.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 ($prof->id == $prof->id)
        echo "<a href='http://www.blahblah.org/DeleteComment.php?id=".$prof->id."'>";
    echo " delete";
    echo "</a>";
    echo "</div>";
    echo "</div>";
    echo "</div>";
}
?>
$query=“从`ProfileComments`中选择*WHERE`tuserid`='”$prof->id.“'ORDER BY`date`DESC,`time`DESC LIMIT 10”;
$request=mysql\u查询($query,$connection);
while($result=mysql\u fetch\u array($request)){
$poster=新用户($result['FromUserID']);
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回音条带斜杠(nl2br($result['commentProfileBody']);
回声“;
回显日期('md,Y',strottime($result['date']);
echo“at”.date('g:ia',strottime($result['time']);
如果($prof->id==$prof->id)
回声“;
回声“;
回声“;
回声“;
}
?>
我今天已经问了好几次这个问题,要么得到了含糊不清的答案(这部分是我的错,因为我没有给出足够的示例代码,希望上面的代码足够了),要么我得到了很低的评价,对我的能力提出了质疑,或者被告知去雇佣一名开发人员。哈哈。因此,如果您是一位经验丰富的开发人员,希望与一位有前途的开发人员分享他们的知识,我们将不胜感激。毕竟这不是这个网站的目的之一吗


如果你没有时间向我解释这一点,一个链接到一个伟大的教程或资源,可以帮助我找到我的方式将是惊人的!谢谢。

这里到底有什么问题?看起来您已经正确设置了“删除”链接,现在只需创建
deletecoment
页面。在其中,您可以执行以下操作:

$id = $_GET['id']; // make sure to sanitize this variable
mysql_query("DELETE FROM ProfileComments WHERE id=$id");
header('location:'.$_SERVER['REQUEST_URI']); // redirect to last page
其他人也可能建议您使用
POST
而不是
GET
,因为我不想进入这里(蜘蛛可能会“点击”它)。您可能还需要确保用户已登录或类似的内容。而且
REQUEST\u URI
也不可靠,因为它依赖于客户端的浏览器将信息发送给您。您可以通过在会话中保存最后一个URL或类似的方式来解决此问题。

if($prof->id==$prof->id)
if ($prof->id == $prof->id)
    echo "<a href='http://www.blahblah.org/DeleteComment.php?id=".$prof->id."'>";
回声“;
这应该总是正确的

看来你需要

if ($logged_in_user->id == $prof->id)
    echo "<a href='http://www.blahblah.org/DeleteComment.php?id=".$prof->id."'>";
if($logged\u in\u user->id=$prof->id)
回声“;
我还应该注意,您传递给删除链接的id是配置文件的id,而不是注释本身。您可能不想在此处删除整个配置文件。

尝试更改行:

if ($prof->id == $prof->id)

因此,删除链接仅在个人资料属于海报时显示

if ($prof->id == $prof->id)
这永远是事实。你是说:

if ($prof->id == $poster->id)
我假设
$prof
是登录用户的配置文件。如果不是这样的话,你需要在这里使用其他东西!(请说明变量是什么,如果代码示例中不清楚,它将帮助我们帮助您)

请务必在
deletecoment.php
中重新检查这一点-没有按钮并不意味着有进取心的黑客不会为自己制作一个按钮

而且

echo”“;

如果我正确理解您的变量,
$prof
是登录的用户配置文件;不是评论。因此,这无法指定需要删除哪些评论;仅限当前登录的用户。您可能希望传递注释的ID—因为您没有发布架构,所以我无法在此处给出具体代码。

您应该更新现有问题(?)而不是打开新问题…可能您的回答不太正确,因为您提出了不正确的问题。代码的格式很差(是的,这很重要),而且解释您的问题也没有降到最低限度(这有助于读者理解它,并表明您已经付出了一些努力,而不是进行代码转储,说“解决这个问题”)。此外,一般来说,教授一般概念也是如此,而不是为您编写特定的代码。因此,虽然提问没有什么错,但如果你基本上是在要求别人为你做这件事,那么如果答案有时没有什么帮助,也不要感到惊讶。无论如何-一个澄清说明-你想知道
deletecoment.php
中的内容,还是想知道上面的代码中有什么漏洞,或者什么?我听到了,但我认为我被误解了,我并不是在要求人们“为我做”我只是以前从未做过,我正在寻找如何做的资源。我是说你该怎么学?我必须有一些推荐信。这有意义吗?所以,是的……我确实想知道什么被破坏了,我想知道DeleteComment.php中的脚本是否包含从我的页面上删除注释并在我的数据库中将其标记为死亡的脚本,而不是yes,或者至少是我可以查看的有用资源。谢谢你。@Ralph,这里的问题之一不是细节,而是不清楚你到底在问什么。你已经说明了你想做什么,给出了你写的一些代码,但是你没有把你想让我们回答的放在哪里。当这种情况发生时,我们将不得不猜测你的意思——而且我们可能猜不正确:)在问题的标题中,以及在问题正文的最后,总是写一个单句问题,以帮助你集中注意力,这是很有帮助的。这将帮助您在将来获得更好的响应!:)我一开始也是这么说的,但我认为只有当登录用户查看自己的个人资料时,他才会想要它。虽然如果问题中的措辞不正确,我也不会感到惊讶。老兄,这里的人都很苛刻。如果我在什么地方说了冒犯你的话,我很抱歉——我不是故意在上面苛刻的;我只是想
if ($prof->id == $poster->id)
echo "<a href='http://www.blahblah.org/DeleteComment.php?id=".$prof->id."'>";