Php 我试图检查用户是管理员还是标准用户
当用户登录到该站点时,我希望它能够检查他们是否是管理员。如果他们是管理员,我想把他们发送到管理员页面,如果他们是用户,然后把他们发送到主页。然而,我有一些问题。 出现的错误是 “语法错误,意外==(T_等于),应为”“或”“。” 我正在尝试使用xampp。Admin是数据库中存储整数1或2的行。 1是标准用户,2是管理员Php 我试图检查用户是管理员还是标准用户,php,html,css,sql,Php,Html,Css,Sql,当用户登录到该站点时,我希望它能够检查他们是否是管理员。如果他们是管理员,我想把他们发送到管理员页面,如果他们是用户,然后把他们发送到主页。然而,我有一些问题。 出现的错误是 “语法错误,意外==(T_等于),应为”“或”“。” 我正在尝试使用xampp。Admin是数据库中存储整数1或2的行。 1是标准用户,2是管理员 if(!isset($_SESSION['admin'] == '1' OR $_SESSION['admin'] == '')){ header('Location:
if(!isset($_SESSION['admin'] == '1' OR $_SESSION['admin'] == '')){
header('Location: home.php');
} else if(!isset($_SESSION['admin'] === '2')){
header('Location: admin.php');
}
我希望当标准用户登录到网站时,它应该将他们重定向到主页,但是当管理员登录时,它应该将他们重定向到管理员页面。您试图检查是否设置了条件,但是(在文档中)确定是否声明了一个变量并且该变量不同于NULL 您应该这样检查:
if (isset($_SESSION['admin'])) {
if ($_SESSION['admin'] === "2") {
header('Location: admin.php');
} else {
header('Location: home.php');
}
} else {
header('Location: home.php');
}
您可以通过检查数据库的行并给出适当的标题位置,直接从登录后的文件中执行此操作。 见下面我的代码
if($rows['registrationType'] == 1) //for user
{
$_SESSION['user']['id'] = $rows['userId'];//Set Sessions
header('location: user/index.php');
}
elseif($rows['registrationType'] == 2) // for admin
{
$_SESSION['admin']['id'] = $rows['userId'];//Set Sessions
/*Header Location Redirects to that page*/
header('location: admin/index.php');
}
isset-确定是否声明了一个变量且该变量不同于NULL,而不是一个条件。但是,当管理员登录到该帐户时,这种情况是有效的。它没有重定向到admin.php,而是重定向到authenticate.php(这是检查用户名和密码是否正确的脚本)。@JackPartington我认为这是另一个问题。我对authenticate.php没有任何疑问