【问题标题】:PHP Sessions and redirectingPHP 会话和重定向
【发布时间】:2012-07-26 03:46:29
【问题描述】:
<?php require_once('./includes/connection.php'); ?>
<?php require_once('./includes/sql_func.php');?>
<?php 
    if(isset($_POST['submit']))
    {
        $isValid = verify_account($_POST['username'],$_POST['password']);
        if($isValid){
            session_name($_POST['username']);
            session_start();
            $_SESSION['isLoggedIn'] = true;
            session_write_close();
            redirect_to("user_panel.php");

        }else{
            echo "Invalid Username and password";
        }
    }
?>
<?php require_once('./includes/header.php');?>

假设用户输入了有效的用户名和密码,它将创建一个会话变量并将不同的值存储在会话数组中。但是当我将用户重定向到另一个页面时怎么会发生

<?php require_once('./includes/connection.php'); ?>
<?php require_once('./includes/sql_func.php');?>
<?php 
    session_start();
?>
<?php require_once('./includes/header.php');?>
    <?php 
        if(isset($_SESSION['isLoggedIn'])){
            echo "Hello User";
        }
    ?>

<?php require_once('./includes/footer.php');?>

上面代码中的这一行

 isset($_SESSION['isLoggedIn'])

没有被解读为真实?

【问题讨论】:

    标签: php session session-variables


    【解决方案1】:

    您在第一页中使用session_name($_POST['username']); 创建会话,然后在第二页中开始没有名称的会话。这实质上意味着第二个页面使用的会话与第一个页面不同。

    查看session_name 的 PHP 手册以获取更多信息,但最简单的解决方法可能是完全删除该行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-11
      • 1970-01-01
      • 2012-07-14
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多