登录PHP后继续会话

登录PHP后继续会话,php,mysql,Php,Mysql,我在我的子域名上有一个简单的登录页面 “login.domainname.com”和两个不同的文件夹 客户门户 包括 前端index.php,其中登录表单位于login.domainname.com的主文件夹中,我正在验证include/validate_login.php文件夹中的登录会话。它在那个文件夹中工作得很好 include/validate_login.php文件具有: $_SESSION['user'] = $data['id']; print_r($_SESSION['user'

我在我的子域名上有一个简单的登录页面 “login.domainname.com”和两个不同的文件夹

  • 客户门户
  • 包括
  • 前端index.php,其中登录表单位于login.domainname.com的主文件夹中,我正在验证include/validate_login.php文件夹中的登录会话。它在那个文件夹中工作得很好

    include/validate_login.php文件具有:

    $_SESSION['user'] = $data['id'];
    print_r($_SESSION['user']); //value is coming
    
    session_start();
    /*if(!isset($_SESSION['user'])){
        header("Location: ../index.php"); exit();
    }*/   // If I uncomment, it will redirect back to index.php file.
    
    $login_session_id = $_SESSION['user'];
    print_r($login_session_id); // login_session_id is blank 
    
    登录成功后,我需要使用include/folder中的会话变量将其重定向到。/Customer\u Portal/文件夹。但是在Customer\u Portal/dashboard.php中,会话数据不会出现,它会重定向回index.php文件

    dashboard.php文件包含:

    $_SESSION['user'] = $data['id'];
    print_r($_SESSION['user']); //value is coming
    
    session_start();
    /*if(!isset($_SESSION['user'])){
        header("Location: ../index.php"); exit();
    }*/   // If I uncomment, it will redirect back to index.php file.
    
    $login_session_id = $_SESSION['user'];
    print_r($login_session_id); // login_session_id is blank 
    

    请告诉我,我做错了什么?

    开始会话时,您需要在每页的顶部或调用会话代码之前说出这一点

    会话_start()

    在会话中放置用户id以跟踪登录的用户

    <?php
    session_start();
    $_SESSION['user']=$user_id; // You can set the value however you like.
    header("Location:dashboard.php");
    ?>
    
    
    
    dashboard.php

    <?php
    session_start();
    echo $_SESSION['user'];
    ?>
    

    开始会话时,您需要在每页的顶部或调用会话代码之前说这句话

    会话_start()

    在会话中放置用户id以跟踪登录的用户

    <?php
    session_start();
    $_SESSION['user']=$user_id; // You can set the value however you like.
    header("Location:dashboard.php");
    ?>
    
    
    
    dashboard.php

    <?php
    session_start();
    echo $_SESSION['user'];
    ?>
    
    
    
    警告:编写您自己的访问控制层并不容易,而且有很多机会使它严重出错。请不要编写您自己的身份验证系统,因为任何现代的同类产品都具有强大的内置功能。至少,请遵循并永远不要将密码存储为纯文本或弱散列(如SHA1或MD5)。是否在validate_login.php中调用
    session\u start
    函数?@tadman感谢您的建议。我不熟悉框架,所以我用核心PHP来做,但我会研究你的建议√ .@塔德曼,好的,当然。我将检查并学习任何框架。谢谢你,塔德曼。警告:编写你自己的访问控制层并不容易,而且有很多机会让它严重出错。请不要编写您自己的身份验证系统,因为任何现代的同类产品都具有强大的内置功能。至少,请遵循并永远不要将密码存储为纯文本或弱散列(如SHA1或MD5)。是否在validate_login.php中调用
    session\u start
    函数?@tadman感谢您的建议。我不熟悉框架,所以我用核心PHP来做,但我会研究你的建议√ .@塔德曼,好的,当然。我将检查并学习任何框架。谢谢你,塔德曼。