0

所以我遇到了问题。我(可能)知道问题是什么,但我不知道如何解决它。

我有一个论坛,有问题和评论。现在,发布问题/评论的人的用户名是指向他/她个人资料的链接。当我访问该链接时,我会检查个人用户名是否是我的用户名。如果是,我可以使用按钮编辑配置文件。现在,当我单击按钮时,会出现错误,我将解释我为什么这么认为。首先,我将向您展示我的代码。这是在我的个人资料页面的顶部:

if(!empty($_GET['thread_username'])){
    //If thread username link was clicked
    $profileusername = $_GET['thread_username'];
}
else if(!empty($_GET['comment_username'])){
    //If comment username was clicked
    $profileusername = $_GET['comment_username'];
}
else{
}
$profileusername=$mysqli2->real_escape_string($profileusername);

profilepage 上的按钮重新加载页面(以及更多),以便它再次通过此代码,$_GET['thread_username']来自 $_GET['comment_username']上一页。所以当我重新加载它时,这些不存在(所以它们是空的)并且页面通过 else。我已经通过只给 $profileusername 一个变量来测试它是否通过 else 并且确实如此。所以当它通过 else 时,$profileusername没有声明,所以我得到了各种各样的错误。我的问题是,当页面重新加载时,它不应该通过 else。它应该只检查 $_GET,但页面说它不存在,我理解但我该如何解决这个问题?

我现在的表格:

    echo
<<<EOT
<form action="profile.php" method="post">
<input name="edit" type="submit" value="edit"></td>
<input type="hidden" name="thread_username" value="{$_REQUEST["thread_username"]}"/>
<input type="hidden" name="comment_username" value="{$_REQUEST["comment_username"]}" />
</form>
EOT;
4

1 回答 1

2

使用 $_REQUEST 而不是 $_GET,请参阅问题的评论。

于 2013-10-08T09:09:24.910 回答