zoukankan      html  css  js  c++  java
  • php中session 入库的实现

    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" );
    //1.开启session机制
    //连接数据库
    function open($savePath,$sessionName){
    mysql_connect("localhost","root","root");
    mysql_select_db("session");
    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["name"] = "ghj";
    var_dump($_SESSION);
  • 相关阅读:
    Laravel 出现 No application encryption key has been specified.
    windows下用composer局部安装laravel
    vue组件--通讯录
    vue组件--TagsInput
    axios封装(二)队列管理
    axios封装(一)基础配置
    [git hooks] pre-commit 配置
    qs.js
    flexbox的应用
    盒子模型详解
  • 原文地址:https://www.cnblogs.com/ghjbk/p/6767251.html
Copyright © 2011-2022 走看看