php----(简2)后台强制用户退出

采用数据库方式:

class MySessionHandler implements SessionHandlerInterface
{
    public $mysqli;
    public $EXPIRE_TIME = 60;                       //过期时间
    function open($save_path, $session_id)
    {
        $this->mysqli = new Mysqli("localhost","root","123456","mcools");
        if ( mysqli_connect_errno ()) {
            printf ( "Connect failed: %s\n" ,  mysqli_connect_error ());
            exit();
        }
        return true;
    }

    function read($session_id)
    {
        $res = $this->mysqli->query("select svalue from sessions where skey = $session_id");
        //$row = $res->fetch_assoc();
        return $res;
    }

    function write($session_id, $session_data)
    {
        $expiry = time()+$this->EXPIRE_TIME;
        $sql = "insert into sessions (svalue,skey,expiry)values('$session_data','$session_id',$expiry)";
        $this->mysqli->query($sql);
        return true;
    }

    //当session.gc_probability/session.gc_divisor == 1的时候会执行回收机制gc()
    function gc($maxlifetime)
    {
        $sql = 'delete from sessions where expiry < '.time();
        $this->mysqli->query($sql);

        return true;
    }

    function close()
    {
        return true;
    }

    function destroy($session_id)
    {
        // TODO: Implement destroy() method.
        $this->mysqli->query("delete from sessions where skey = $session_id");
        return true;
    }

}

$handler = new MySessionHandler();
session_set_save_handler($handler,true);

// 设置
ini_set('session.save_handler', 'user');
ini_set('session.gc_probability', '1');
ini_set('session.gc_divisor', '3');

session_start();

#完成上面的代码之后就可以进行正常的session操作,而数据是保存在数据库中的


//destory
// unset($_SESSION['name']);
// session_destroy();

var_dump($_SESSION);
//write
$_SESSION['name'] = 'jack';

//read
// echo $_SESSION['name'];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值