如何基于PHP中的会话数据将用户重定向到不同的页面?

时间:2019-03-25 19:58:27

标签: php mysql

我目前正在尝试使用会话将当前用户类型重定向到其特定站点,同时还创建一个会话来检查他们是否已登录。

所有用户都在同一张表中,并已被分类为1、2或3。 到目前为止,这是我尝试过的:

<?php
session_start();
include ('connection/conn.php');


$user = $_POST['userfield'];

$password = $_POST['passfield'];

$readcheck = "SELECT * FROM ovo_users WHERE id = '$user' AND pword = '$password' ";

$result = $conn->query($readcheck);

$numrow = $result->num_rows;

if($numrow > 0){

    while ($row = $result->fetch_assoc()){
        $userid = $row['id'];
        $usertype = $row['user_type'];

        $_SESSION['40212246_user_id'] = $userid;
        $_SESSION['40212246_user_type'] = $usertype;

    } 

    if($usertype = 1){
        header("Location: student/index.php");
    }

    elseif($usertype = 2){
        header("Location: tutor/index.php");
    }

    elseif($usertype = 3){
        header("Location: admin/index.php");
    }

    else {
        header("Location: index.php");
    }

}
?>

无论何时登录,登录后我都会被发送到学生/索引页面。

1 个答案:

答案 0 :(得分:0)

 if($usertype = 1){
    header("Location: student/index.php");
}

这是我眼前一个亟待解决的问题,您应该首先进行更正,单个等号是赋值运算符,您需要一个双重等于或三重相等比较运算符。

老实说,我会在这里改用switch语句:

    switch($type) {
    case 1:
        // goto link 1
        break;

    case 1:
        // goto link 2
        break;

    default:
        // goto link 3
}