如果用户在未以管理员身份登录时尝试转到/admin/
,我想显示错误。我不想传递URL中的内容,我不想做$_POST
来显示错误。我只是想显示一条消息,当你刷新它就消失了。
例如,请转到以下网址:http://getsatisfaction.com/getsatisfaction/topics/notifications_box/edit
它会让您回到主题并说“我很抱歉,但您已被拒绝编辑此主题。”
刷新时它就消失了。我希望能够像这样显示错误。有谁知道他们是怎么做到的?
我已经看到其他网站也这样做了(没有在网址的末尾添加?error=1
)。
提前致谢。
答案 0 :(得分:2)
在会话中设置错误消息:
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']);
}
答案 1 :(得分:1)
您需要检查会话并查看用户是否有权限。 检查会话是特定于环境的,例如,如果您使用Joomla: http://www.howtojoomla.net/how-tos/development/how-to-use-sessions-in-joomla
如果你使用drupal: http://drupal.org/node/360542
当然,php中的会话有一个本地库: http://php.net/manual/en/ref.session.php
希望它有所帮助!