【发布时间】:2026-01-09 10:45:01
【问题描述】:
我做了一个登录页面,效果很好。我系统上的每个帐户都有一个用户名、密码和权限。在登录屏幕上,您只需要填写您的用户名和密码,记录就会自动链接到会话,所以我确定会话在登录时知道它有什么权限。我想区分管理员和管理员用户帐号。管理员帐户应重定向到与用户不同的屏幕。这是我的代码:
if ($_SESSION['Permission'] = "admin") {
header("location:adminmenu.html");
} else {
header("location:usermenu.html");
}
当我运行它时,它会自动将我带到管理菜单,即使语句不正确。我该如何解决这个问题?
这不一样,因为问题不在于解析错误。
【问题讨论】:
-
您分配的是
=,而不是比较,==或===。 -
即使我改变了它,它仍然每次都会将我重定向到管理菜单。
-
您已将权限分配给会话,因此您需要先销毁会话并确保在其他任何地方都不会发生这种情况。
-
练习写
if ('foo' == $var)而不是if ($var == 'foo')通常是个好主意,这样如果你错过了=就会抛出一个错误。 -
我添加了一个 session_destroy();和一个 session_start();在语句前面,现在它只重定向到 usermenu.html。
标签: php html session if-statement