我在一个网站上工作,我们需要集群服务器有超过1台计算机处理流量。 所以我需要将php会话(文件会话)转换为此群集工作的数据库。将php会话保存到db(session_set_save_handler)
我有一个简单的登录文件: 检查后用户==密码,如果NUM行== 1:
$_SESSION['user']=$_POST['user'];
我的问题就在这里开始,我怎么能写这样的用户在我的数据库使用的session_set_save_handler ? 我需要更改get _write的工作吗?
public function _write($id){
// Create time stamp
$data = time();
// Set query
$this->db->query('INSERT INTO sessions (id,user,data) VALUES (:id, :user, :data)');
// Bind data
$this->db->bind(':id', $id);
$this->db->bind(':user', $user); //how can i get login user?
$this->db->bind(':data', $data);
// Attempt Execution
// If successful
if($this->db->execute()){
// Return True
return true;
}
// Return False
return false;
}
DB
CREATE TABLE IF NOT EXISTS `sessions` (
`id` varchar(32) NOT NULL,
`user` varchar(20),
`data` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
到底会发生什么?什么是错误? –
您的代码中不存在$ user变量。 –
我不能获得登录用户保存在我的会话数据库,我不知道如何发送此登录用户名到我的功能 –