本文原始链接: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. Fedora安装

    转载:http://www.51ou.com/browse/fedora/33174.html 安装fedora后的20个系统设置 安装VirtualBox增强工具 1.编辑sudoers文件,先备份 ...

  2. 用const取代宏定义更好的管理内存

    用const取代宏定义更好的管理内存 宏:只是在预处理器里进行文本替换,没有类型,不做任何类型检查,编译器可以对相同的字符串进行优化.只保存一份到 .rodata 段.甚至有相同后缀的字符串也可以优化 ...

  3. Intellij IDEA 使用Debug模式运行非常慢

    今天在用Debug的时候,idea运行非常慢,搜了一下有人说: 自己检查发现果然如此,把在方法前的断点去掉(移到方法体内),就正常了.

  4. DAG上动态规划

    很多动态规划问题都可以转化为DAG上的最长路,最短路,或路径计数问题. 硬币问题: 有N中硬币,面值分别为v1,v2,v3,……vn,每种都无穷多,给定非负整数S,可以选用多少个硬币,使他们的总和恰好 ...

  5. C语言宏定义相关

    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等.下面列举一些成熟软件中常用得宏定义......1,防止一个头文件被重复包含#ifndef COMDEF_H# ...

  6. Android(java)学习笔记92:泛型高级之通配符

    package cn.itcast_07; import java.util.ArrayList; import java.util.Collection; /* * 泛型高级(通配符) * ?:任意 ...

  7. js中replace的用法【转】

    1.replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp ...

  8. 使用CSS实现一个简单的幻灯片效果

    方法一: 简单的CSS代码实现幻灯片效果 方法二: 使用CSS3 Animation来制作幻灯片 方法一: 简单的CSS代码实现幻灯片效果 话不多说,直接上代码 <!DOCTYPE html&g ...

  9. Core Bluetooth Programming Guide

    https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth ...

  10. jQuery 的插件 dataTables

    ---恢复内容开始--- jQuery 的插件 dataTables 是一个优秀的表格插件,提供了针对表格的排序.浏览器分页.服务器分页.筛选.格式化等功能.dataTables 的网站上也提供了大量 ...