php实现session入库操作例子
session是存在服务器指定目录中一个全局变量了,对于一般登录是可以做到,但像淘宝购物车如果全部做session肯定是不行的,我们需要把session保存到数据库以方便下次调用具体操作如。
session入库操作例子
<?php ini_set("session.save_handler","user"); //session.gc_probability = 1 分子 ini_set("session.gc_probability",1); //session.gc_divisor = 1000 分母 ini_set("session.gc_divisor",2); //session.gc_maxlifetime = 1440 垃圾回收时间,session有效期 session_set_save_handler( "open","close","read","write","destroy","gc" ); //连接数据库 function open($savePath,$sessionName){ mysql_connect("localhost","root","root"); mysql_select_db("test"); mysql_query("set names utf8"); } function close(){ echo "close<br>"; } function read($sessionId){ $sql = "select * from session where sessionid='".$sessionId."'"; $re = mysql_query($sql); $sessdata = mysql_fetch_assoc($re); //返回session存储的数据 return $sessdata["sessiondata"]; } function write($sessionId,$data){ //如果sessionid不存在,插入新纪录,存在就更新 /*$sql = "select * from session where sessionid='".$sessionId."'"; $re = mysql_query($sql); if(mysql_num_rows($re) > 0){ $sql = "update session set sessiondata='".$data."' where sessionid='".$sessionId."'"; }else{ $sql = "insert into session(sessionid,sessiondata,sessiontime) values('".$sessionId."','".$data."',".time().")"; } if(!mysql_query($sql)){ echo mysql_error(); }else{ return true; } */ //用replace语法解决上述操作 $sql = "replace into session(sessionid,sessiondata,sessiontime) values('".$sessionId."','".$data."',".time().")"; if(!mysql_query($sql)){ echo mysql_error(); }else{ return true; } } //根据sessionid销毁当前的session function destroy($sessionId){ echo "destroy<br>"; } //删除过期的所有session function gc($lifetime){ echo "gc<br>"; } session_start(); $_SESSION["vvvv"] = "eeee"; var_dump($_SESSION); ?>
本文地址:http://www.phprm.com/code/72251.html
转载随意,但请附上文章地址:-)