CREATE TABLE sessions ( id CHAR(32) NOT NULL, data TEXT, last_accessed TIMESTAMP NOT NULL, PRIMARY KEY (id) );
<?php /** * Created by PhpStorm. * User: michaeldu * Date: 15/7/14 * Time: 下午2:57 */ $sdbc = NULL; function open_session() { global $sdbc; $sdbc = mysqli_connect('192.168.31.172', 'root', 'root', 'phpadvanced'); return true; } function close_session() { global $sdbc; return mysqli_close($sdbc); } function read_session($sid) { global $sdbc; $q = sprintf('SELECT data FROM sessions WHERE id="%s"', mysqli_real_escape_string($sdbc, $sid)); $r = mysqli_query($sdbc, $q); if (mysqli_num_rows($r) == 1) { list($data) = mysqli_fetch_array($r, MYSQLI_NUM); return $data; } else { return ''; } } function write_session($sid, $data) { global $sdbc; $q = sprintf('REPLACE INTO sessions (id, data) VALUES ("%s", "%s")', mysqli_real_escape_string($sdbc, $sid), mysqli_real_escape_string($sdbc, $data)); $r = mysqli_query($sdbc, $q); return true; } function destroy_session($sid) { global $sdbc; $q = sprintf('DELETE FROM session WHERE id="%s"', mysqli_real_escape_string($sdbc, $sid)); $r = mysqli_query($sdbc, $q); $_SESSION = array(); return true; } function clean_session($expire) { global $sdbc; $q = sprintf('DELETE FROM sessions WHERE DATE_ADD(last_accessed, INTERVAL %d SECOND) < NOW()', (int)$expire); $r = mysqli_query($sdbc, $q); return true; } session_set_save_handler('open_session', 'close_session', 'read_session', 'write_session', 'destroy_session', 'clean_session'); session_start();
<?php /** * Created by PhpStorm. * User: michaeldu * Date: 15/7/14 * Time: 下午3:14 */ require('db_session.inc.php'); ?> <!DOCTYPE HTML> <html> <head> <title>colour_blue</title> <meta name="description" content="website description" /> <meta name="keywords" content="website keywords, website keywords" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="/phpadvanced/02developwebapplication/style/style.css" title="style" /> </head> <body> <?php if(empty($_SESSION)) { $_SESSION['blah'] = 'umlaut'; $_SESSION['this'] = 3615684.45; $_SESSION['that'] = 'blue'; echo '<p>Session已存储</p>'; } else { echo '<p>SESSION已存在, <pre>'.print_r($_SESSION, 1).'</pre></p>'; } if(isset($_GET['logout'])) { session_destroy(); echo '<p>会话结束</p>'; } else { echo '<a href="sessions.php?logout=true">登出</a>'; } echo '<p>会话数据: <pre>'.print_r($_SESSION, 1).'</pre></p>'; ?> </body> </html> <?php session_write_close(); ?>
相关推荐
重写session机制,默认session是以临时文件形式存储在服务器,将session写入数据库,建表和注释写的都很清晰,已测试
session存储到数据库实践
session驱动类 session存入数据库 数据库存储session 用于session存入数据库
本文实例讲述了SESSION存放在数据库用法。分享给大家供大家参考。具体如下: <?php /* CREATE TABLE `ws_sessions` ( `session_id` varchar(255) binary NOT NULL default '', `session_expires` int(10) ...
将PHP的session数据存储到数据库中的代码实例_.docx
本文实例讲述了PHP将session信息存储到数据库的类。分享给大家供大家参考。具体分析如下: SessionHandlerInterface接口是PHP内置的接口,直接实现就行了 具体可以看php手册关于session_set_save_handler函数的解释...
里我们将分享两个将PHP的session数据存储到数据库中的代码实例,分别针对PostgreSQL与MySQL,需要的朋友可以参考下
内容很简单 简单到只告诉你怎么操作来实现 方便大家学习
session在sql server数据库中的配置方法
里边有详细代码,包含SQL脚本,...//设置用户自定义Session存储 session_set_save_handler('mysession_open', 'mysession_close', 'mysession_read', 'mysession_write', 'mysession_destroy', 'mysession_gc'); ?>
在zend framework中,已经可以将session存储在数据库中了,不过还不支持memcache,我简单得实现了一下。 下面是SaveHandler,文件名为 :Memcached.php ,将其放在 /Zend/Session/SaveHandler 目录下,代码如下(需要...
本文以实例讲解了ThinkPHP实现将SESSION存入MYSQL的方法,所采用的运行环境是ThinkPHP3.1.2版 首先index.php中设置为: <?php define('APP_DEBUG', true);//设置为调试模式 require '../ThinkPHP/ThinkPHP.php';...
改称 session.save_handler=”use”就可以了,但是,这仅仅是说明我门没有采用文件的方式存储session,我们还要选择数据库和建立数据库的表。建立数据库和数据库的表结构,我们可以采用php可以使用的任何的数据库,...
NULL 博文链接:https://melec.iteye.com/blog/851649
php独立session数据库存储操作类分享_.docx
javascript 购物车 数据库 根据用户的登录状态,如果用户没有登录,则用户加入到购物车中的产品,存储到session中;如果用户登录,则将用户购物车中的产品存储到数据库中或者从数据库中读取数据显示购物车列表。