ign*_*846 3 php session codeigniter
我一直在使用数据库检验出CodeIgniter的功能,以会议,并当过我注销(使用sess_destroy())我得到了以下声明:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: session_id
Filename: libraries/Session.php
Line Number: 272
A PHP Error was encountered
Severity: Notice
Message: Undefined index: ip_address
Filename: libraries/Session.php
Line Number: 272
A PHP Error was encountered
Severity: Notice
Message: Undefined index: user_agent
Filename: libraries/Session.php
Line Number: 272
A PHP Error was encountered
Severity: Notice
Message: Undefined index: last_activity
Filename: libraries/Session.php
Line Number: 272
A PHP Error was encountered
Severity: Notice
Message: Undefined index: session_id
Filename: libraries/Session.php
Line Number: 288
A PHP Error was encountered
Severity: Notice
Message: Undefined index: last_activity
Filename: libraries/Session.php
Line Number: 289
Run Code Online (Sandbox Code Playgroud)
我需要做些什么来解决这个问题?(我知道我可以关闭错误报告等,但我更感兴趣的是为什么会发生这种情况以及如何解决它).
我用它来创建表:
CREATE TABLE IF NOT EXISTS `ci_sessions` (
session_id varchar(40) DEFAULT '0' NOT NULL,
ip_address varchar(45) DEFAULT '0' NOT NULL,
user_agent varchar(120) NOT NULL,
last_activity int(10) unsigned DEFAULT 0 NOT NULL,
user_data text NOT NULL,
PRIMARY KEY (session_id),
KEY `last_activity_idx` (`last_activity`)
);
Run Code Online (Sandbox Code Playgroud)
会话lib是自动加载的.
Ben*_*ans 31
这导致了您的问题,随着2.1.3的发布:
修复了一个错误(#1314) - 会话库方法sess_destroy()没有破坏userdata数组.
$ this-> tank_auth-> logout()包含函数sess_destroy(); 所以在你调用它之后,你不能在$ this - > _ show_message()中使用set_flashdata().
您需要做的是创建一个新会话.这是你的注销方法在auth.php中的样子:
/**
* Logout user
*
* @return void
*/
function logout() {
$this->tank_auth->logout(); // Destroys session
$this->session->sess_create();
$this->_show_message($this->lang->line('auth_message_logged_out'));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5612 次 |
| 最近记录: |