会话变量没有在php中传递值

时间:2017-10-09 11:30:41

标签: php

我正在尝试使用基于角色的登录身份验证。但不知何故它不能正常工作。会话变量也不会回显。我在顶部使用了session_start()。但是,我仍然面对这个问题。你能告诉我我做错了什么吗?正如你在这里看到的,我已经回应了sess_userrole。在我的数据库角色列中也存在并为用户分配角色。如果用户是管理员,则应将vm-dashboard.php else转到其他页面。但它重定向到place-order.php页面的时间。

不要将其标记为重复。我使用了以前帖子中描述的所有内容。我需要帮助。我不想要downvotes.First,检查帖子,然后将其标记为dupliacte。

代码:

<?php
require_once 'class.user.php';
session_start();
session_save_path();
$user_login = new USER();

if($user_login->is_logged_in()!="")
{
    //$user_login->redirect('sm-dashboard.php');
}
if(isset($_POST['btn-login']))
{
    $email = trim($_POST['userEmail']);
    $miid = trim($_POST['mi_id']);

        if($user_login->login($email,$miid))
    {
        session_regenerate_id();
        $_SESSION['sess_user_id'] = $row['userID'];
        $_SESSION['sess_userEmail'] = $row['userEmail'];
        $_SESSION['sess_userrole'] = $row['role'];

        echo $_SESSION['sess_userrole'];

        session_write_close();
        if( $_SESSION['sess_userrole'] == "admin"){
            header('Location: vm-dashboard.php');
        }else{
            header('Location: place-order.php');
        }
                }

    }

?>

0 个答案:

没有答案