Php 如何在codeigniter 3.1会话数据库表中存储用户名和用户id
我使用的是codeigniter 3.1,我想用会话中的用户名和用户ID跟踪用户,并将其存储到数据库表中。所以我在数据库中创建了codeigniter 3.1会话表。给你Php 如何在codeigniter 3.1会话数据库表中存储用户名和用户id,php,mysql,database,codeigniter,session,Php,Mysql,Database,Codeigniter,Session,我使用的是codeigniter 3.1,我想用会话中的用户名和用户ID跟踪用户,并将其存储到数据库表中。所以我在数据库中创建了codeigniter 3.1会话表。给你 CREATE TABLE IF NOT EXISTS `ci_sessions` ( `id` varchar(40) NOT NULL, `ip_address` varchar(45) NOT NULL, `user_id` varchar(45) NOT NULL,
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(40) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`user_id` varchar(45) NOT NULL,
`username` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
PRIMARY KEY (id),
KEY `ci_sessions_timestamp` (`timestamp`)
);
而且还改变了config.php
会话,它也在这里
$config['sess_driver'] = 'database';
$config['sess_cookie_name'] = 'ci_sessions';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'ci_sessions';//its your table name name
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
这是我的会话控制器功能
public function session_test($value='')
{
$newdata = array(
'username' => 'johndoe',
'user_id' => 3,
'logged_in' => TRUE
);
$this->session->set_userdata("userdata",$newdata);
$session_id = $this->session->userdata('userdata');
echo "<pre>";
print_r($session_id);
echo "</pre>";
}
存储在数据库中的是图像,存储在数据库中的是会话
在这里,我无法将会话中的用户名和用户id存储到数据库中
如何将会话中的用户名和用户id存储到数据库表中
谢谢你的建议
$config['sess_driver'] = 'database'; //by deafault it may be 'files'
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = 'sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
此表将存储会话数据。现在我们需要设置配置变量。转到“application/config/config.php”并更新以下变量:
$data = array(
'name' => 'xyz', //some value
'is_logged_in' => TRUE
);
$this->session->set_userdata($data);
现在使用存储会话数据
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);
欲了解更多详情,请访问
此表将存储会话数据。现在我们需要设置配置变量。转到“application/config/config.php”并更新以下变量:
$data = array(
'name' => 'xyz', //some value
'is_logged_in' => TRUE
);
$this->session->set_userdata($data);
现在使用存储会话数据
CREATE TABLE IF NOT EXISTS `ci_sessions` (
`id` varchar(128) NOT NULL,
`ip_address` varchar(45) NOT NULL,
`timestamp` int(10) unsigned DEFAULT 0 NOT NULL,
`data` blob NOT NULL,
KEY `ci_sessions_timestamp` (`timestamp`)
);
有关更多详细信息,请访问您不需要更改
ci_会话的结构
事实上,您不应该更改表结构。使用中的表结构
添加到会话数据的任何内容都将存储在表的“数据”列中
会话数据已经是一个数组。将一组数据作为会话数据项只会让生活更艰难。此测试控制器使访问任何给定会话数据项变得更加容易
公共功能会话测试($value='')
{
$newdata=array(
'username'=>'johndoe',
“用户id”=>3,
“已登录”=>TRUE
);
$this->session->set_userdata($newdata);
回显“用户名:”.$this->session->username.“”; 回显“用户ID:”$this->session->User_ID。“
”; echo“已登录:”; echo$this->session->logged_in?'Yes':'No'; }
您不需要更改
ci_会话的结构
事实上,您不应该更改表结构。使用中的表结构
添加到会话数据的任何内容都将存储在表的“数据”列中
会话数据已经是一个数组。将一组数据作为会话数据项只会让生活更艰难。此测试控制器使访问任何给定会话数据项变得更加容易
公共功能会话测试($value='')
{
$newdata=array(
'username'=>'johndoe',
“用户id”=>3,
“已登录”=>TRUE
);
$this->session->set_userdata($newdata);
回显“用户名:”.$this->session->username.“”; 回显“用户ID:”$this->session->User_ID。“
”; echo“已登录:”; echo$this->session->logged_in?'Yes':'No'; }
public function session_test($value = '')
{
$newdata = array(
'username' => 'johndoe',
'user_id' => 3,
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
echo "User Name: ".$this->session->username."<br>";
echo "User ID: ".$this->session->user_id."<br>";
echo "Is logged in: ";
echo $this->session->logged_in ? 'Yes' : 'No';
}