Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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 - Fatal编程技术网

用PHP显示错误消息

用PHP显示错误消息,php,Php,如果用户在未以管理员身份登录时尝试转到/admin/,我想显示一个错误。我不想在URL中传递内容,也不想通过$\u POST来显示错误。我只想显示一条消息,当你刷新它时,它就消失了 例如,转到以下URL: 它会将您返回主题,并说“很抱歉,您被拒绝编辑此主题。” 当你刷新时,它就消失了。我也希望能够显示这样的错误。有人知道他们是怎么做到的吗 我见过其他网站也这样做(没有在URL末尾附加?error=1) 提前谢谢 在会话中设置错误消息: session_start(); $_SESSION['me

如果用户在未以管理员身份登录时尝试转到
/admin/
,我想显示一个错误。我不想在URL中传递内容,也不想通过
$\u POST
来显示错误。我只想显示一条消息,当你刷新它时,它就消失了

例如,转到以下URL:

它会将您返回主题,并说“很抱歉,您被拒绝编辑此主题。”

当你刷新时,它就消失了。我也希望能够显示这样的错误。有人知道他们是怎么做到的吗

我见过其他网站也这样做(没有在URL末尾附加
?error=1


提前谢谢

在会话中设置错误消息:

session_start();
$_SESSION['message'] = 'No, you fool!';
header('Location: some-other-page.html');
exit;
显示消息:

session_start();
if (!empty($_SESSION['message'])) {
    echo $_SESSION['message'];
    unset($_SESSION['message']);
}

您需要检查会话并查看用户是否具有权限。 检查会话是特定于环境的,例如,如果使用Joomla:

如果您使用drupal:

当然,php中有一个用于会话的本机库:


希望有帮助

您当前如何以管理员身份登录某人?饼干?会话?您的代码库当前是否支持基于角色的用户分离?(即管理员与普通用户)?@DigitalPrecision是的,我在数据库中有一列名为“type”,即“admin”或“user”。我已经检查了用户是否有权限以及会话是否有正确的变量。但是现在,如果他们没有登录或者不是管理员,我只是将他们重定向回主页。谢谢所有的链接,虽然:)哦,我不明白你的问题。。。但现在我做到了:您可以使用$\u POST而不是$\u GET向自己发送一个参数-这样它就不会显示在地址栏上(作为URL的一部分)-为什么不使用POST?另一种方法是设置一个定制的会话变量-在这种情况下,应该执行trickSession操作。此代码段缺少确定帐户是否为“admin”的检查,可能需要添加它以确保完整性。@DigitalPrecision是的,我已经检查过它是否为admin。我只是不知道如何显示错误消息-如果他们不是管理员,我只是将他们重定向到主页。现在,我也可以用它显示一个错误。