php session处理的定制


Posted in PHP onMarch 16, 2009

user-define-session-inc.php文件代码:

<?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", "root","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", "root","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", "root","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", "root","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'); 
?>

<?php 
include('user-define-session-inc.php'); //包含session_set_save_handler定义的文件 session_start(); 
$_SESSION['username'] = "zhuzhao"; 
$_SESSION['password'] = "123456"; 
?>

<?php 
include('user-define-session-inc.php'); //包含session_set_save_handler定义的文件 session_start(); 
echo "UserName:".$_SESSION['username']."<BR>"; 
echo "PassWord:".$_SESSION['password']."<BR>"; 
?>
PHP 相关文章推荐
基于PHP读取TXT文件向数据库导入海量数据的方法
Apr 23 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
浅谈json_encode用法
Mar 05 PHP
windows下apache搭建php开发环境
Aug 27 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
Mar 07 PHP
php进行ip地址掩码运算处理的方法
Jul 11 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 PHP
PHP数据对象映射模式实例分析
Mar 29 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 PHP
php session 检测和注销
Mar 16 #PHP
php session 预定义数组
Mar 16 #PHP
php 无限级缓存的类的扩展
Mar 16 #PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 #PHP
PHP 文件类型判断代码
Mar 13 #PHP
php discuz 主题表和回帖表的设计
Mar 13 #PHP
php 获取mysql数据库信息代码
Mar 12 #PHP
You might like
用header 发送cookie的php代码
2007/03/16 PHP
有关PHP中MVC的开发经验分享
2012/05/17 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
javascript 学习笔记(八)javascript对象
2011/04/12 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
关于vue里页面的缓存详解
2019/11/04 Javascript
[51:43]OG vs LGD 2018国际邀请赛淘汰赛BO3 第五场 8.26
2018/08/30 DOTA
推荐下python/ironpython:从入门到精通
2007/10/02 Python
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
Docker部署Python爬虫项目的方法步骤
2020/01/19 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
怎么样写好简历中的自我评价
2013/10/25 职场文书
计算机系毕业生推荐信
2013/11/06 职场文书
生日派对邀请函
2014/01/13 职场文书
家长会邀请书
2014/01/25 职场文书
六五普法规划实施方案
2014/03/21 职场文书
公司节能减排方案
2014/05/16 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
爱心捐款活动总结
2015/05/09 职场文书
教你怎么用Python实现GIF动图的提取及合成
2021/06/15 Python
Python利用FlashText算法实现替换字符串
2022/03/31 Python