加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP 使用MySQL管理Session的回调函数详解

发布时间:2020-12-13 06:25:23 所属栏目:PHP教程 来源:网络整理
导读:div class="codetitle" a style="CURSOR: pointer" data="56626" class="copybut" id="copybut56626" onclick="doCopy('code56626')" 代码如下: div class="codebody" id="code56626" ?php class MySession extends DBSQL {/ __construct() / public functio

<div class="codetitle"><a style="CURSOR: pointer" data="56626" class="copybut" id="copybut56626" onclick="doCopy('code56626')"> 代码如下:<div class="codebody" id="code56626">
<?php
class MySession extends DBSQL {/
__construct()
/
public function construct() {
parent::
construct ();}/

open()

@param $sSavePath
@param $sSessionNames

@return true
*/
public function open($sSavePath,$sSessionName) {
return true;
}/
close()
/
public function close() {
return true;
}/

read()

@param $sSessionId
@return Session data or null on error...
/
public function read($sSessionId) {
$sSessionId = addslashes(trim($sSessionId));
$sSql = "SELECT
FROM tb_session WHERE F_SessionId = '{$sSessionId}'";
//echo $sSql;
if(false != ($result = $this->select($sSql))) {
//var_dump($result[0]['F_SessionData']);
return $result[0]['F_SessionData'];
} else {
return '';
}
}/
write()

@param $SessionId
@param $sSessionData

@return true or false
*/
public function write($sSessionId,$sSessionData) {
$arrSession = array();
$arrSession['F_SessionId'] = addslashes(trim($sSessionId));
$arrSession['F_SessionData'] = addslashes($sSessionData);
$arrSession['F_SessionCreated'] = date("Y-m-d H:i:s");
$arrSession['F_SessionUpdated'] = date("Y-m-d H:i:s",time() + 1440);// 新session及更新的session
if (false != ($result = $this->insertData('tb_session',$arrSession))) {
return true;
} else {
$arrUpdateSession = array();
$arrUpdateSession['F_SessionData'] = addslashes($sSessionData);
$arrUpdateSession['F_SessionUpdated'] = date("Y-m-d H:i:s",time() + 1440);
if (false != ($result = $this->updateData('tb_session',"'".addslashes($sSessionId)."'",'F_SessionId',$arrUpdateSession))) {
return true;
} else {
return false;
}
}
}/*
destroy()

@param $sSessionId
@return true
/
public function destroy($sSessionId) {
$sSessionId = addslashes(trim($sSessionId));
$this->delData($sSessionId,'tb_session');
return true;
}/

gc

@param $nMaxLifeTime seconds

@return true
/
public function gc($nMaxLifeTime) {
$dtExpiredTime = date("Y-m-d H:i:s",time() - $nMaxLifeTime);$sSql = "DELETE FROM tb_session WHERE F_SessionUpdated < {$dtExpiredTime}";
//echo $sSql;
$this->delete($sSql);return true;
}
/*
desctruct()

/
function
destruct() {
// ensure session data is written out before classes are destroyed
// (see http://bugs.php.net/bug.php?id=33772 for details)
@session_write_close();
} // __destruct
}
?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读