php session的应用举例

本文原始链接: http://www.jbxue.com/article/9281.html
1,session可以保存任意类型的数据。因为是保存在服务器上的(即已经序列化)。

2,session运行机制
page1.php
 

复制代码代码示例:

<?php
session_start();  //已经开启了session,相当于已经读取了session信息
$_SESSION['favcolor'] = 'green';
$_SESSION['animal'] = 'cat';
$_SESSION['time'] = time();

// Works if session cookie was accepted
echo '<br /><a href="page2.php">page 2</a>';
?>

page2.php
 

复制代码代码示例:
<?php
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
?>
 

session_start声明$_SESSION变量,为 $_SESSION 赋值->  操作 $_SESSION变量->将 $_SESSION内的数据写入数据空间,并释放变量。

删除$_SESSION不能unset ,可以将其置为空: $_SESSION = array();

删除当前 $_SESSION的数据文件 session_destory(),在默认系统路径下C:windos /Temp下。 可以在浏览器中找到该目录

删除浏览器内利用cookie技术,删除sessionID

setCookie('PHPSESSID',time()-1);

三个一起使用,即可完全删除session

3,周期可能出现不一致的情况。
PHP的session机制
分类: 日志 2013-05-06 01:22 192人阅读 评论(0) 收藏 举报

问题 :
1,如何确定分配sessionID 
在session_start的时候。
两种情况,一是浏览器带了sessionID 请求,带了直接使用,没有带,则生成一个sessionID,并生成一个$_SESSION数组

2,如何形成session存储空间
使用sessionID定位服务器上的数据空间

3,如何保存数据到存储空间
将空间内的数据读取出来,反序列化后放入到$_SESSION数据内。

4,如何读取数据
在脚本结束后,将$_SESSION数据序列化写到数据空间内。

5,如何管理数据
即操作$_SESSION数组。
session重写机制:当session运行到一定的周期会自动调用以下的方法。并注意每个方法的该有的不同的参数。
 

复制代码代码示例:

<?php
function open() {
    echo 'close';
}

function close() {
    echo 'close';
}
function read() {
    echo 'read';
}
function write() {
    echo 'write';
}
function destroy() {
    echo 'destroy'; //当用户调用session_destory()后执行
}
function gc() {
    echo 'gc'; //当脚本执行完之后
}
session_set_save_handler('open','close','read','write','destroy','gc');
session_start();//先设置再开启
?>

有关session使用中的问题,大家还可以阅读下这篇文章:http://www.jbxue.com/article/5177.html

你可能感兴趣的:(session)