-4
我使用这段代码,但是当我以雇主身份登录时,它一直在获取管理员会话我知道我的条件语句错误我应该怎么做?在不同的会话中登录3种方式
if ($username&&$password)
{
$query = mysqli_query($link,"select * from login where UserId = '$username'");
$numrows = mysqli_num_rows($query);
if ($numrows!==0)
{
while($row = mysqli_fetch_assoc($query))
{
$dbusername = $row['UserId'];
$dbpassword = $row['Password'];
$dbprivileges = $row['Privileges'];
}
if($username==$dbusername&&$password==$dbpassword)
{
//admin home page
if($dbprivileges=="Admin")
{
@$_SESSION['admin'] = $username;
header('Location:hris_admin_index.php');
}
//company home page
elseif($dbprivileges=="Company")
{
@$_SESSION['employer'] = $username;
header('Location:hris_company_index.php');
}
//employee home page
else
{
@$_SESSION['employee'] = $username;
header('Location:hris_employee_index.php');
}
你必须学会如何调试。尝试在while循环之后放置** echo $ dbprivileges; exit; **。 – aceraven777
你可以发布一切甚至数据库代码 – lyndact
什么是错误抑制?此外,你应该[哈希你的密码](http://php.net/password_hash),而不是以纯文本形式存储它们,如果你使用准备好的语句使用mysqli是最安全的,或者至少你应该使用mysqli_real_escape_string以确保您的代码不容易受到SQL注入攻击。 – Mike