shishirui 发表于 2008-2-17 14:15:28

使用session类定义session,如何让关闭浏览器后session就消失?

我这样设置session后,设置的值在关闭浏览器后,也不消失,再打开浏览器,仍然可以访问到,请问如何让他关闭浏览器后就自动消失,就像一般的session那样?
$this->load->library('session');
$this->session->set_userdata('username', $username);
$this->session->set_userdata('password', $password);

而我用PHP的$_SESSION变量设置好值后,在另一个方法里面根本就访问不到,好像ci自动把$_SESSION变量毁掉了

Hex 发表于 2008-2-17 18:09:48

这个 session 是存在 cookie 里的,不是 php 的 session。
你应该设置 cookie 的生存期,设置 config.php 文件,请看手册~~~

沧蓝 发表于 2008-2-17 18:34:35

用php自己的 session_start() 和 $_SESSION array。

shishirui 发表于 2008-2-17 19:05:19

原帖由 沧蓝 于 2008-2-17 18:34 发表 http://codeigniter.org.cn/forums/images/common/back.gif
用php自己的 session_start() 和 $_SESSION array。

我用了,不行。
先访问 http://localhost/ci/tests
再访问 http://localhost/ci/tests/show

显示:Message: Undefined variable: _SESSION

class Tests extends Controller {

        function __contruct()
        {
                parent::Controller();
        }

        function index()
        {
                session_start();
                $_SESSION['test'] = 'helasdjklf';
        }

        function show()
        {
                echo $_SESSION['test'];
        }

}

Hex 发表于 2008-2-17 20:11:16

用第三方 session 类!比如: OB_Session

shishirui 发表于 2008-2-17 20:22:21

原帖由 Hex 于 2008-2-17 20:11 发表 http://codeigniter.org.cn/forums/images/common/back.gif
用第三方 session 类!比如: OB_Session

嗯,了解,我试试!
感谢感谢!

沧蓝 发表于 2008-2-17 20:41:19

session_start() 放constructor里。
页: [1]
查看完整版本: 使用session类定义session,如何让关闭浏览器后session就消失?