首页 > 解决方案 > 由于语法错误导致的不同用户登录问题

问题描述

在我的程序中,我希望不同的用户有不同的 class_id 以便让他们进入不同的管理页面。我将它们分配在 3 个类 id 1= manger 2= NormalUser 3 =admin 但是当我完全加入它们时,我认为错误就在这里。但我找不到有人可以帮忙吗?

问题在查询中

<?php session_start();?>
<?php
include("conn.php");
?>
<?php
if(isset($_POST['submit']))
{
        $user=$_POST['username'];
        $pwd=$_POST['password'];
        $query="SELECT * 
            FROM employees 
            FULL OUTER JOIN admin 
                on employees.class_id=admin.class_id 
            WHERE (employees.employee_id='$user'&& employees.password='$pwd')
              ||(admin.username='$user' && admin.password='$pwd')";
        $data   = mysqli_query($conn,$query);
        $total  =mysqli_num_rows($data);
        $class = $data->fetch_assoc();
        if ($class['class_id']==2)
        {
            $_SESSION['employee_id']=$user;
            header('location:home.php');
        }
        elseif ($class['class_id']==1){
            $_SESSION['employee_id']=$user;
            header('location:manger/home.php');
        } 
        else {
            header('location:index.php');
       }
}

?>

标签: phpmysqlsql

解决方案


问题在这里:

使用 'AND','OR' 代替 &&,||

WHERE (employees.employee_id='$user' AND employees.password='$pwd')
OR (admin.username='$user' AND admin.password='$pwd')"

推荐阅读