用户
 找回密码
 入住 CI 中国社区
搜索
查看: 6964|回复: 6
收起左侧

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

[复制链接]
发表于 2008-2-17 14:15:28 | 显示全部楼层 |阅读模式
我这样设置session后,设置的值在关闭浏览器后,也不消失,再打开浏览器,仍然可以访问到,请问如何让他关闭浏览器后就自动消失,就像一般的session那样?
PHP复制代码
$this->load->library('session');
$this->session->set_userdata('username', $username);
$this->session->set_userdata('password', $password);
复制代码


而我用PHP的$_SESSION变量设置好值后,在另一个方法里面根本就访问不到,好像ci自动把$_SESSION变量毁掉了
发表于 2008-2-17 18:09:48 | 显示全部楼层
这个 session 是存在 cookie 里的,不是 php 的 session。
你应该设置 cookie 的生存期,设置 config.php 文件,请看手册~~~
发表于 2008-2-17 18:34:35 | 显示全部楼层
用php自己的 session_start() 和 $_SESSION array。
 楼主| 发表于 2008-2-17 19:05:19 | 显示全部楼层
原帖由 沧蓝 于 2008-2-17 18:34 发表
用php自己的 session_start() 和 $_SESSION array。


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

显示:
  1. Message: Undefined variable: _SESSION
复制代码

PHP复制代码
class Tests extends Controller {
 
        function __contruct()
        {
                parent::Controller();
        }
 
        function index()
        {
                session_start();
                $_SESSION['test'] = 'helasdjklf';
        }
 
        function show()
        {
                echo $_SESSION['test'];
        }
 
}
复制代码
发表于 2008-2-17 20:11:16 | 显示全部楼层
用第三方 session 类!比如: OB_Session
 楼主| 发表于 2008-2-17 20:22:21 | 显示全部楼层
原帖由 Hex 于 2008-2-17 20:11 发表
用第三方 session 类!比如: OB_Session


嗯,了解,我试试!
感谢感谢!
发表于 2008-2-17 20:41:19 | 显示全部楼层
session_start() 放constructor里。

本版积分规则