PHP -Session 深入解剖 ① session的基本操作 【大成出品 --必是精品】。
Session的初步介绍
1 Session是服务器端技术,利用这个技术,服务器在运行时可以为每一个用户的不同浏览器(一个用户的不同浏览器将生成不同的session文件)创建一个其独享的session文件,
由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中,当用户再去访问服务
器中的其他web资源时,其它web资源再从用户各自的session中取出数据为用户服务。
2 原理示意图
3 session的基本用法(curd)增删改查
session 操作-----增
3.1 如何保持session
//1 初始化session
session_start();
//2 保存数据 session文件可以保持基本数据类型
四种标量类型: boolean (布尔型)integer (整型)float (浮点型, 也称作 double) string (字符串)
两种复合类型: array (数组) object (对象)
最后是两种特殊类型: resource (资源)NULL (NULL) 以上8种数据类型均可保持
$_SESSION['name']='www.dacnnet.com'; (string)
$_SESSION['name']='襄阳大成网络'; (string 汉字会urlencode转换)
$_SESSION['age']=100; (interger)
$_SESSION['isboy']=true; (boolean)
$array=array('北京','小明','hello');
$_SESSION['arr1']=$array; (array)
class test{
private $name;
private $age;
function __construct($name,$age){
$this->name=$name;
$this->age = $age;
}
}
$test = new test('wc',20);
$_SESSION['test'] = $test; (object)
session 操作-----改
改很简单 原来的$_SESSION['name']='www.dacnnet.com'; 修改为 $_SESSION['name']='dacnnet.com' 即可。
session 操作-----查
session 保存形式是数组 取出单个数据
$name = $_SESSION['name'];
当然,你也可以循环来取出
foreac($_SESSION as $k => $v){
echo "$k ======== $v";
}
session 操作-----删
session的删除有俩种形式
① 按逻辑出牌,点击网站的 安全退出 链接
1 unset($_SESSION['name']); //一个一个的删除。
你若是按照这样的方法一个一个的删除,session信息和session变量将不存在。session文件内容将被清空,session文件的大小为0。
但是session文件不会删除。直到系统删除(系统如何删除 待续)。
2 $_SESSION = array(); //声明一个空数组
session 的存放形式是以数组的形式,像这样 $_SESSION['name']='wc';
所以给一个$_SESSION = array(); 给他一个空数组,
此时session信息和session变量将不存在, session文件内容将被清空,session文件的大小为0。
但是session文件不会删除。直到系统删除(系统如何删除 待续)。
3 session_destory(); //销毁
此时session文件将删除 ,所以 关于此用户的此浏览器的此session信息。 将不存在。干净 彻底。
② 不按照逻辑出牌,直接点 X 或者直接关闭浏览器
此时需要让服务器自行删除,这是session的垃圾回收机制。(系统如何删除 待续)
PHP -Session 深入解剖 ① session的基本操作 【大成出品 --必是精品】。的更多相关文章
- 深度解剖session运行原理
已经大半年没有更新博客了,一方面有比博客更重要的事情要做,另外一方面也没有时间来整理知识,所以希望在接下来的日子里面能够多多的写博客来与大家交流 什么是session session的官方定义是:Se ...
- [Session] SessionHelper---C#操作Session的帮助类 (转载)
点击下载 SessionHelper.rar 下面是代码大家看一下 这个类主要是关于Session的基本操作比如:1.获取Session值2.设置一个Session的值3.清空所有的Session4. ...
- nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)
本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...
- 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session
什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...
- 报表session与应用session常识普及
1. 报表session与应用session 报表集成到项目中可能会有一个疑问就是系统应用和报表应用在一个web服务器下,那系统session和报表session是不是一个session呢?如果不是那 ...
- 使用Memcached Session Manager扩展Session管理
>>Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取sessi ...
- [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- asp.net(C#)清除全部Session与单个Session
Session.Abandon();//清除全部SessionSession["UserName"] = null;Session.Remove("UserName&qu ...
- Tomcat的SessionID引起的Session Fixation和Session Hijacking问题
上一篇说到<Spring MVC防御CSRF.XSS和SQL注入攻击>,今天说说SessionID带来的漏洞攻击问题.首先,什么是Session Fixation攻击和Session Hi ...
随机推荐
- 转 如何使用velocity模板引擎开发网站
基于 Java 的网站开发,很多人都采用 JSP 作为前端网页制作的技术,尤其在是国内.这种技术通常有一些问题,我试想一下我们是怎样开发网站的,通常有几种方法: 1:功能确定后,由美工设计网页的UI( ...
- 【Android 界面效果36】Fragment管理
要管理fragment们,需使用FragmentManager,要获取它,需在activity中调用方法getFragmentManager(). 你可以用FragmentManager来做以上事情: ...
- Oracle 基础 <2> --函数
一:函数的定义 函数是用于返回特定数据的PL/SQL程序块 (函数必须返回一个值) 语法: create [or replace] function function_name--函数名称 [(par ...
- linux 打包/解包
zip: 压缩(递归) zip -r x.zip x 解压(覆盖所有) unzip -o x.zip tar: 打包 tar -czvf x.tar x 解包 tar -xzvf x.tar
- CF Soldier and Cards (模拟)
Soldier and Cards time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- Win10 VMware虚拟机无法打开内核设备“\\.\Global\vmx86“
前几项与Win7配置相同 用管理员模式打开CMD 运行 net start vmci net start vmx86 net start VMnetuserif 这三条命令 为了不用每次启动都这样,修 ...
- Sublime_Tip_01
//JerryWeb //20150601 //WebTool | Sublime ======= Sublime_Tip_01======= 接触了Sublime后,才真正开始爱上了coding # ...
- 【.NET基础】--委托、事件、线程(1)
1,委托 是存放方法的指针的清单,也就是装方法的容器 A, 新建winform项目[01委托],项目中添加dg_SayHi.cs 委托类 用于存储方法 namespace _01委托 { //定义委托 ...
- 【ERROR】---Error executing "adb devices":ADB server didn't ACK
搭建环境 ionic emulate android 的时候出现问题 端口占用,找到占用端口的程序,结束进程再启动 重新ionic emulate android 还是报错,闪了一下说fail ...
- WPF视频教程系列笔记
视频二:XAML基础 1.顶级元素 <Window></Window>,<Page></Page>,<Application></Ap ...