本文原始链接: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

php session的应用举例的更多相关文章

  1. 分布式下Session一致性架构举例

    一.问题及方案 见这篇文章:分布式下Session一致性问题 二.分布式环境搭建: 系统环境 [root@centos7 ~]# cat /etc/redhat-release CentOS Linu ...

  2. Django2.2 会话技术cookie session token的区别以及实例介绍

    一.区别: 本人见解:使用自定义数据项进行加密,作为唯一身份识别,登陆时写入cookie(session基于这个).在显示相关数据 1.cookie 属于客户端会话技术(数据存储在客户端) 默认的Co ...

  3. Session原理、生命周期及购物车功能的实现

    在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下).因此,在需要保存用户数据(保存该浏览器(会话)的相关信息)时 ...

  4. ocp11g培训内部教材_051课堂笔记(047)_SQL

    OCP 051课堂笔记 目录 OCP 051课堂笔记... 1 第一章.Oracle命令类别:... 4 第二章.SQL的基本函数... 4 2.1 单行函数与多行函数... 4 2.2 单行函数的几 ...

  5. 【Hibernate】浅析hibernate中的延迟加载

    1 简介 在使用一些查询方法时,方法执行了,但是并没有立刻发送SQL语句查询数据库.而是在访问对象的getXxx方法时候才触发SQL执行加载对象数据.这种机制就称为延迟加载. 2 优点 延迟加载主要是 ...

  6. Hibernate的状态,缓存和映射

    Hibernate的状态,缓存和映射 1.对象的状态 1.1.对象状态的概念和分类 在使用Hibernate操作数据库的时候,我们先创建了JavaBean对象,然后使用session来保存或者更新到数 ...

  7. 03_Hibernate关系映射

    关系映射? Hibernate的主要目的就是JAVA程序员可以随心所欲的使用对象编程思维来操作数据库.一些数据库表的关系我们应该可以通过hibernate实现,比如数据库中用到的主外键关系,还有一些与 ...

  8. MySQL基础之事务编程学习笔记

    MySQL基础之事务编程学习笔记 在学习<MySQL技术内幕:SQL编程>一书,并做了笔记.本博客内容是自己学了<MySQL技术内幕:SQL编程>事务编程一章之后,根据自己的理 ...

  9. 8、Flink Table API & Flink Sql API

    一.概述 上图是flink的分层模型,Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作.Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时 ...

随机推荐

  1. The required Server component failed to start so Tomcat is unable to start解决之一

    http://www.cnblogs.com/quxuedan/archive/2012/12/11/2813445.html 看看这个博客园园主说的吧

  2. iPhone screen size

      iPhone 4 iPhone 5 iPhone 6 iPhone 6 Plus Display Size 3.5 in 4 in 4.7 in 5.5 in Screen Size 320 x ...

  3. 以前写过的一些oracle语句

    这下以后用起来就方便了.可算是找到了 Orcl 数据库服务 启动项: OracleDBConsoleorcl OracleOraDb10g_home1iSQL*Plus OracleOraDb10g_ ...

  4. Log4Net之初步了解

    原创文章,转载必需注明出处:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/log4net%E4%B9%8B%E5%88%9D%E6 ...

  5. javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)

    一:web应用组织结构 1:web应用组成结构 2:安装web组成机构手动创建一个web应用程序目录 a:在webapps下创建目录web b:在web目录下创建html.jsp.css.js.WEB ...

  6. [改善Java代码]列表相等只需关系元素数据

    来看一个判断列表相等的例子,看代码: import java.util.ArrayList; import java.util.Vector; public class Client { public ...

  7. sendkeys用法详解

    将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样. 语法 SendKeys string[, wait] SendKeys 语句的语法具有以下几个命名参数: 部分 描述   string ...

  8. 改变xmind显示中文界面

    最近打算迁移到ubuntu系统做为主系统,打算使用xmind这个工具,因为我的ubuntu并没有使用简体中文,xmind是根据系统的语种来自动选择的,所以也直接为英文界面,实在使用不习惯,查到了这篇文 ...

  9. Eclipse去除jquery引入错误

    之前在写Java项目时,总是出现引入jquery报错,虽然对其方法的应用没有什么影响,但是感觉难受,经过百度得到解决的方法: 第一步:去除eclipse的JS验证:将windows->prefe ...

  10. 判断checkbox选中

    源码如下,仅限参考,直接复制即可: <meta http-equiv="Content-Type" content="text/html; charset=utf- ...