用户
 找回密码
 入住 CI 中国社区
搜索
楼主: Hex
收起左侧

[库 Library] [2.0.x] PHP 原生 Session 类库,可完全替代 CI 自己的 Session 类库

    [复制链接]
发表于 2010-8-15 15:50:35 | 显示全部楼层
向老大表示万分感谢!!

我遇到的这个问题真是太奇怪了http://myci.tk/forums/thread-6727-1-1.html

把这个代码拷贝进去一切问题解决了
发表于 2011-1-11 14:37:26 | 显示全部楼层
回复 43# lvxuezh


我也出现了类似的错误:

A PHP Error was encountered

Severity: Notice

Message: Undefined property: CI_Session:userdata

Filename: controllers/main.php

Line Number: 97

A PHP Error was encountered

Severity: Notice

Message: Undefined property: CI_Session:userdata

Filename: controllers/main.php

Line Number: 98


分别对应的源代码是

        function ask()
        {       
                print_r($_SESSION);
                if ($this->input->post('search'))
                {
                        $this->session->set_userdata('search', $this->input->post('search'));
                }
               
                if ($this->session->userdata('logged_in'))
                {
                        $data['user_name'] = $this->session->userdata['user_name']; //97行
                    $data['user_level'] = $this->session->userdata['user_level']; //98行
                       
                        $data['search'] = $this->session->userdata('search');
                        $this->load->view('top');
                        $this->load->view('main/main_ask.php', $data);
                        $this->load->view('bottom');
                }else{
                        redirect('main/login');
                }       
        }
发表于 2011-1-11 14:38:39 | 显示全部楼层
然后我打印出这一页的session内容,发现以前的userdata数组没有了。


Array ( [regenerated] => 1294784373 [user_id] => 3815 [user_name] => ytpai_zara [user_email] => ytpai_zara@gn.com [user_level] => guest [user_date] => 2011-01-11 14:20:01 [user_modified] => 2011-01-11 14:20:01 [user_last_login] => [firstname] => [lastname] => [user_phone] => [user_mobile] => [intDOBDay] => [intDOBMonth] => [intDOBYear] => [job] => [country] => [sex] => [company] => [education] => [income] => [language] => [interest] => [Password] => [Password1] => [user] => ytpai_zara [logged_in] => 1 )
发表于 2011-1-11 14:52:59 | 显示全部楼层
我发现,在源代码中,把$this->session->userdata['user_name']改成$this->session->userdata('user_name')这样的格式就没有报错了。
 楼主| 发表于 2011-1-11 20:22:51 | 显示全部楼层
回复 54# coding_burning


    请按照 1.7.3 的手册来使用 Session 类库,不要自己创造语法。我这个完全是按照手册的语法写的。

http://codeigniter.org.cn/user_guide/libraries/sessions.html
发表于 2011-2-11 18:08:52 | 显示全部楼层
1, 将你的session放在 application/Session.php
2, autoload.php 中自动添加session
3, config.php中$config['sess_use_database']        = FALSE;

这样就能确定执行的是你的session,对吗?
 楼主| 发表于 2011-2-12 01:01:04 | 显示全部楼层
回复 56# julia


    是的,我确定,我就是这么用的。
发表于 2011-2-12 11:30:19 | 显示全部楼层
试试这个,56L的方法吧
发表于 2011-2-18 18:11:43 | 显示全部楼层
放application/libraries 目录?就可以?  CI是如何找得到??
IE8  flashdata老无效 为何?
 楼主| 发表于 2011-2-18 18:32:27 | 显示全部楼层
回复 59# le_el


    注意,这个不支持 CI 2.0
CI 会自动找的,如果想知道如何找得到,请看本论坛的源码分析。

本版积分规则