doufang8282 2012-07-26 03:46
浏览 34
已采纳

PHP会话和重定向

<?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');?>

Assuming that the user has entered a valid username and password it will create a session variable and will store different values in the session array. but how come when I redirect a user to another page the

<?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');?>

This Line on the code above

 isset($_SESSION['isLoggedIn'])

is not being read as true?

  • 写回答

1条回答 默认 最新

  • douna1892 2012-07-26 03:51
    关注

    You are creating a session with session_name($_POST['username']); in your first page, then starting the session without a name in the second page. This essentially means that the second page is using a different session to the first.

    Have a look at the PHP manual for session_name for more information, but the easiest fix is probably to drop that line altogether.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)
  • ¥20 关于#stm32#的问题:STM32串口发送问题,偶校验(even),发送5A 41 FB 20.烧录程序后发现串口助手读到的是5A 41 7B A0
  • ¥15 C++map释放不掉
  • ¥15 Mabatis查询数据
  • ¥15 想知道lingo目标函数中求和公式上标是变量情况如何求解
  • ¥15 关于E22-400T22S的LORA模块的通信问题
  • ¥15 求用二阶有源低通滤波将3khz方波转为正弦波的电路