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的基本操作 【大成出品 --必是精品】。的更多相关文章

  1. 深度解剖session运行原理

    已经大半年没有更新博客了,一方面有比博客更重要的事情要做,另外一方面也没有时间来整理知识,所以希望在接下来的日子里面能够多多的写博客来与大家交流 什么是session session的官方定义是:Se ...

  2. [Session] SessionHelper---C#操作Session的帮助类 (转载)

    点击下载 SessionHelper.rar 下面是代码大家看一下 这个类主要是关于Session的基本操作比如:1.获取Session值2.设置一个Session的值3.清空所有的Session4. ...

  3. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  4. 【荐】PHP Session和Cookie,Session阻塞,Session垃圾回收,Redis共享Session,不推荐Memcached保存Session

    什么是 Session 在 web 应用开发中,Session 被称为会话.主要被用于保存某个访问者的数据. 由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的 ...

  5. 报表session与应用session常识普及

    1. 报表session与应用session 报表集成到项目中可能会有一个疑问就是系统应用和报表应用在一个web服务器下,那系统session和报表session是不是一个session呢?如果不是那 ...

  6. 使用Memcached Session Manager扩展Session管理

    >>Tomcat的session管理 在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中. 然后再从request获取sessi ...

  7. [原创]java WEB学习笔记78:Hibernate学习之路---session概述,session缓存(hibernate 一级缓存),数据库的隔离级别,在 MySql 中设置隔离级别,在 Hibernate 中设置隔离级别

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  8. asp.net(C#)清除全部Session与单个Session

    Session.Abandon();//清除全部SessionSession["UserName"] = null;Session.Remove("UserName&qu ...

  9. Tomcat的SessionID引起的Session Fixation和Session Hijacking问题

    上一篇说到<Spring MVC防御CSRF.XSS和SQL注入攻击>,今天说说SessionID带来的漏洞攻击问题.首先,什么是Session Fixation攻击和Session Hi ...

随机推荐

  1. A problem is easy

    描述When Teddy was a child , he was always thinking about some simple math problems ,such as “What it’ ...

  2. 从敏捷开发到小团队SVN

    一.敏捷之惑 敏捷开发,有一个很好的实践,“每天都可以产生一个可用于发布的版本”. 以前对这句话感到非常的困惑,因为我们手中的项目是残缺的,基本只是程序的一个功能片段,在未集成之前如何发布得了?当然这 ...

  3. Java Script基础(六) DOM模型

    一.文档对象模型 DOM( Document Object Model)文档对象模型,它提供了访问.动态修改文档的借口,W3C指定了DOM规范,主流浏览器都支持.DOM由3部分组成,分别是CoreDo ...

  4. 【谷歌市场安装】Google Play 闪退问题解决

    Google Play 安装后闪退,是因为手机没有内置GMS(Google Mobile Service) 框架. 由于谷歌退出了中国市场,国产手机很多都没有内置GMS, 导致Google Play ...

  5. javascript组件开发

    最近忙于重构项目,今天周末把在重构中的一些思想记记: 一.javascript的组件开发:基类的封装 由于这次重构项目需要对各种组件进行封装,并且这些组件的实现方式都差不多,所以想到对组件封装一个ba ...

  6. JQuery multiselect的相关使用

    这两天做项目需要用到多选控件,于是选择了JQuery  multiselect控件,介绍一下常用的一些相关属性. 详细地址:http://davidstutz.github.io/bootstrap- ...

  7. 5059 一起去打CS

    5059 一起去打CS  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 钻石 Diamond 题解  查看运行结果     题目描述 Description 早就和lyk约好了去 ...

  8. Asp.net的内置对象!!!

    还记得自己第一次面试的时候,面试官问的问题就是.net内置对象的问题,当时就让尴尬的要死... 所以作为新手的我们还是要知道这些轮廓的东西的! 1.Response对象 2.Request对象 3.A ...

  9. html&css静态页面

    状态不好,整晚未眠. 想着敲点代码,遇着复杂的又自己生气,所以就敲了博客园的,总是很纠结"哪样的文字算标题算段落或要用span""什么时候用div比较好"&qu ...

  10. Android渲染机制和丢帧分析

    http://blog.csdn.net/bd_zengxinxin/article/details/52525781 自己编写App的时候,有时会感觉界面卡顿,尤其是自定义View的时候,大多数是因 ...