PHP会话变量不粘

时间:2010-11-01 02:17:10

标签: php session unset

以下是我的代码的简化版

<?php session_start();
    if($_GET['page'] == "login")
    {   // process username/password
        if(login is successful)
           $_SESSION['access'] = "dev";
    }
    else if($_GET['page'] == "request")
    {
        //get some data from an xml file using simplexml 
    }
?>
<?php if(!isset($_SESSION['access']) { ?>
    <!-- display login form. submits to this page + ?page=login -->
<?php } else { ?>
    <!-- display edit form, nothing more than a textarea, a select and a submit button. -->
    <!-- The form points to this page + ?page=request -->
<?php } ?>

当我登录$ _SESSION ['access']设置正确时会发生什么,但当我再次向页面提交数据以检索数据时,$ _SESSION ['access']将被取消设置并再次显示登录表单。

我做错了什么?我是PHP的新手。

1 个答案:

答案 0 :(得分:2)

您需要在会话中明确存储数据。 session_start打开会话进行读/写,但是在你明确地执行之前写的内容不会成功。

http://www.php.net/manual/en/function.session-write-close.php

使用该功能。