PHP实现session信息存储到数据库.docx

上传人:scccc 文档编号:14435650 上传时间:2022-02-06 格式:DOCX 页数:5 大小:69.31KB
返回 下载 相关 举报
PHP实现session信息存储到数据库.docx_第1页
第1页 / 共5页
PHP实现session信息存储到数据库.docx_第2页
第2页 / 共5页
PHP实现session信息存储到数据库.docx_第3页
第3页 / 共5页
PHP实现session信息存储到数据库.docx_第4页
第4页 / 共5页
PHP实现session信息存储到数据库.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《PHP实现session信息存储到数据库.docx》由会员分享,可在线阅读,更多相关《PHP实现session信息存储到数据库.docx(5页珍藏版)》请在三一文库上搜索。

1、PHP实现session信息存储到数据库,具体代码如下:/* session信息存储到数据库的类* 表结构:* CREATE TABLE IF NOT EXISTS sessioninfo (* sid varchar(255) NOT NULL,UPDATE* value text NOT NULL,* expiration timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON CURRENT_TIMESTAMP,* PRIMARY KEY (sid)* ) ENGINE=InnoDB DEFAULT CHARSET=utf8;* /class My

2、SessionHandler implements SessionHandlerInterface /* access private* var object数据库连接*/private $_dbLink;* access private* var string 保存 session 的表名*/Private $_sessionTable;/* access private* var string session 名*/private $_sessionName;/* const过期时间*/const SESSION_EXPIRE = 10;public function _construct

3、($dbLink, $sessionTable) if(!is_object($dbLink) return false;$this->_dbLink = $dbLink;$this->_sessionTable = $sessionTable;/*打开* access publicparam string $session_save_path 保存 session 的路径param string $session_name session 名return integer*/public function open($session_save_path, $session_name

4、) $this->_sessionName = $session_name;return 0;/*关闭access publicreturn integer*/public function close() return 0;/*关闭 sessionaccess publicparam string $session_id session IDreturn string*/public function read($session_id) $query = SELECT value FROM $this->_sessionTable WHERE sid =AND UNIX_TIME

5、STAMP(expiration)self:SESSION EXPIRE$session_id .>UNIX_TIMESTAMP(NOW()”;$result = $this->_dbLink->query($query);if(!isset($value) | empty($value) $value =;return $value;$this->_dbLink->query(UPDA TE $this->_sessionTable SET CURRENT_TIMESTAMP() WHERE sid = $session_id);$value = $res

6、ult->fetch_array();$result->free();return $valuevalue;/*expiration =写入 sessionaccess publicparam string $session_id session IDparam string $session_data session datareturn integer*/public function write($session_id, $session_data) $query = SELECT value FROM $this->_sessionTable WHERE sid =

7、$session_idAND UNIX_TIMESTAMP(expiration) +UNIX_TIMESTAMP(NOW()”;$result = $this->_dbLink->query($query);$result = $result->fetch_array(); if(!empty($result) $result = $this->_dbLink->query(UPDATE $session_data WHERE sid = $session_id);else$result = $this->_dbLink->query(INSERT

8、value) VALUES ($session_id, $session_data);if($result)return 0;else return 1;/*self:SESSION EXPIRE>;$this->_sessionTable SET value =INTO $this->_sessionTable (sid,销魂 sessionaccess publicparam string $session_id session IDreturn integer*/public function destroy($session_id) $result = $this-&g

9、t;_dbLink->query(DELETE FROM $this->_sessionTable WHERE sid = $session_id);if($result)return 0;elsereturn 1;/*垃圾回收access publicparam string $maxlifetime session 最长生存时间return integer*/public function gc($maxlifetime) $result = $this->_dbLink->query(DELETE FROM $this->_sessionTable WHER

10、E UNIX_TIMESTAMP(expiration) < UNIX_TIMESTAMP(NOW() - self:SESSION_EXPIRE); if($result) return 0; else return 1; /*$dbLink = new mysqli(localhost, root, root, test);$sessionTable = sessioninfo;$handler = new MySessionHandler($dbLink, $sessionTable);session_set_save_handler($handler);session_start();$_SESSIONname = test;echo $_SESSIONname;/session_destroy();更多信息请查看IT技术专栏

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1