如果用户或管理员使用 PHP 检查登录


check the log in if user or admin with php

我正在尝试检查登录的人是用户还是管理员,我在数据库中创建了一个名为"pin"的列,并将值设置为 0 或 1。如果 PIN 为 0,则登录者是管理员和用户,否则。这是我的代码,但它对我不起作用,请帮忙,我完全是初学者

$query = mysql_query("SELECT ID, password FROM facultymember ".
    "WHERE password='$password' AND ID='$ID'", $connection);
$query2 = mysql_query("SELECT pin FROM facultymember ".
    "WHERE password='$password' AND ID='$ID'", $connection);
$row2 = mysql_fetch_assoc($query2);
$check = $row2['pin'];
$rows = mysql_num_rows($query);
if ($rows == 1 && $check == 1) {
    $_SESSION['login_user']=$ID; // Initializing Session
    header("location: homeFM.php"); // Redirecting To Other Page
}
else if($rows == 1 && $check == 0) {
    $_SESSION['login_user']=$ID; // Initializing Session
    header("location: homeA.php"); // Redirecting To Other Page
} else {
    $error = "Username or Password is invalid";
}
mysql_close($connection); // Closing Connection
}
好的

,所以我重写了你必须尝试为你理解它的内容,并附上评论。

$query = mysql_query("SELECT ID, password, pin FROM facultymember ".
    "WHERE password='$password' AND ID='$ID'", $connection);
$row = mysql_fetch_assoc($query);
if(false != $row){ // user info exists/correct
    $_SESSION['login_user'] = $row['ID'];
    if('1' == $row['pin']) { //not admin    
        header("location: homeFM.php"); // Redirecting To Other Page
        die;
    } else { //admin
        header("location: homeA.php"); // Redirecting To Other Page
        die;
    }
} else { //login doesn't exist
    $error = "Username or Password is invalid";
}
mysql_close($connection); // Closing Connection

这应该对您有用,希望评论能解释它。如果它不起作用,请告诉我,但它应该根据您提供的信息。

话虽如此....

我希望您的密码经过哈希处理,输入经过净化,并且您考虑使用PDOMySQLi类而不是旧的已弃用的mysql_函数。

作为旁注,启动会话需要session_start();,而不仅仅是在超全局中分配变量。

Error: There is 1 more closing curly braces '}' found

我猜这是最后一个需要删除的大括号

$query = mysql_query("SELECT ID, password FROM facultymember  WHERE password='".$password."' AND ID=".$ID, $connection);
$query2 = mysql_query("SELECT pin FROM facultymember WHERE password='".$password."' AND ID=".$ID, $connection);

您的查询有奇怪的串联