PHP教程:COOKIE与SESSION联合实现跨域
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-16
库中创建一张SESSION表: CREATE TABLE `sessions` ( `sid` varchar(32) NOT NULL default '''', `expiry` int(20) unsigned NOT NULL default ''0'', `value` text NOT NULL, PRIMARY KEY (`sid`), KEY `expiry` (`expiry`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 然后写一个类,这个类用于读取\插入\更新\删除以及垃圾回收SESSION class session{ private $db; function __construct($db){ $this->db=$db; } public function open($save_path,$session_name){ return true; } public function close(){ $this->db=null; return true; } public function read($sid){ $rs=$this->db->query("select * from sessions where sid=''".$sid."''"); foreach ($rs as $row){ return $row[''value'']; } return null; } public function write($sid,$value){ if(is_null($oldvalue=$this->read($sid))){ //insert return $this->db->query(”insert into sessions (sid,expiry,value)values(’”.$sid.”‘,’”.time().”‘,’”.$value.”‘)”); }else{ //update return $this->db->query(”update sessions set expiry=’”.time().”‘,value=’”.$value.”‘ where sid=’”.$sid.”‘”); } } public function destroy($sid){ return $this->db->query(”delete from sessions where sid=’”.$sid.”‘”); } public function gc($max_life_time){ return $this->db->query(’delete from sessions where expiry+’.$max_life_time.’<’.time()); } } 我来解释下这个类: private $db; 类的DATABASE属性. function __construct($db) 类的构造函数,在声明类时,可以直接传递DB属性到类中,当然如果还不明白可以先GOOGLE一下”PHP 类 construct 方法”; public function open($save_path,$session_name) session打开,没有什么花头,直接返回TRUE; public function close() session关闭,同理open,但注意要关闭DB连接; public function read($sid) session读取,传值SID,在数据表中将这个SID的VALUE作为返回值返回; public function write($sid,$value) session的写入与更新,这个你会有疑问,为什么set expiry=’”.tim |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 国外优秀的PHP开源网站内容管理系统下一篇: PHP代码实例:图片转成HTML
关于PHP教程:COOKIE与SESSION联合实现跨域的所有评论