网站地图    收藏   

主页 > 后端 > php资料库 >

php实现session入库操作例子

来源:未知    时间:2014-12-11 17:08 作者:xxadmin 阅读:

[导读] session是存在服务器指定目录中一个全局变量了,对于一般登录是可以做到,但像淘宝购物车如果全部做session肯定是不行的,我们需要把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); 
?>

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论