php session处理的定制

前端之家收集整理的这篇文章主要介绍了php session处理的定制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

user-define-session-inc.PHP文件代码
<div class="codetitle"><a style="CURSOR: pointer" data="9212" class="copybut" id="copybut9212" onclick="doCopy('code9212')"> 代码如下:

<div class="codebody" id="code9212">
<?PHP
function mysession_open($save_path,$session_name)
{
@MysqL_connect("localhost","root","1981427") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
@MysqL_select_db("test") //选择数据库mydb
or die("数据库不存在或不可用");
return true;
} function mysession_close()
{
return true;
} function mysession_read($key)
{
@MysqL_connect("localhost","1981427") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
@MysqL_select_db("test") //选择数据库mydb
or die("数据库不存在或不可用");
$expiry_time = time(); //获取Session失效时间
//执行sql语句获得Session的值
$query = @MysqL_query("select session_data from mysession "
."where session_key = '$key' and session_expiry > $expiry_time")
or die("sql语句执行失败");
if($row = MysqL_fetch_array($query))
return $row['session_data'];
else
return false;
} function mysession_write($key,$data)
{
@MysqL_connect("localhost","1981427") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
@MysqL_select_db("test") //选择数据库mydb
or die("数据库不存在或不可用");
$expiry_time = time() + 1200; //获取Session失效时间
//查询Session的键值是否已经存在
$query = @MysqL_query("select session_data from mysession "
."where session_key = '$key'")
or die("sql语句执行失败");
//如果不存在,则执行插入操作,否则执行更新操作
if(MysqL_numrows($query) == 0)
{
//执行sql语句插入Session的值
$query = @MysqL_query("insert into mysession values('$key','$data',$expiry_time)")
or die("sql语句执行失败");
}
else
{
//执行sql语句更新Session的值
$query = @MysqL_query("update mysession set "
."session_data = '$data',session_expiry = $expiry_time "
."where session_key = '$key'")
or die("sql语句执行失败");
}
return $query;
} function mysession_destroy($key)
{
@MysqL_connect("localhost","1981427") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
@MysqL_select_db("test") //选择数据库mydb
or die("数据库不存在或不可用");
//执行sql语句删除Session
$query = @MysqL_query("delete from mysession where session_key = '$key'")
or die("sql语句执行失败");
return $query;
} function mysession_gc($expiry_time)
{
@MysqL_connect("localhost","1981427") //选择数据库之前需要先连接数据库服务器
or die("数据库服务器连接失败");
@MysqL_select_db("test") //选择数据库mydb
or die("数据库不存在或不可用");
$expiry_time = time();
//执行sql语句删除Session
$query = @MysqL_query("delete from mysession where session_expiry < $expiry_time")
or die("sql语句执行失败");
return $query;
} //设置用户自定义Session存储
session_set_save_handler('mysession_open',
'mysession_close',
'mysession_read',
'mysession_write',
'mysession_destroy',
'mysession_gc');
?>

<div class="codetitle"><a style="CURSOR: pointer" data="926" class="copybut" id="copybut926" onclick="doCopy('code926')"> 代码如下:
<div class="codebody" id="code926">
<?PHP
include('user-define-session-inc.PHP'); //包含session_set_save_handler定义的文件 session_start();
$_SESSION['username'] = "zhuzhao";
$_SESSION['password'] = "123456";
?>

<div class="codetitle"><a style="CURSOR: pointer" data="78900" class="copybut" id="copybut78900" onclick="doCopy('code78900')"> 代码如下:
<div class="codebody" id="code78900">
<?PHP
include('user-define-session-inc.PHP'); //包含session_set_save_handler定义的文件 session_start();
echo "UserName:".$_SESSION['username']."
";
echo "PassWord:".$_SESSION['password']."
";
?>

phpsessionsession定制定制定制

猜你在找的PHP相关文章