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. iOS 应用有用户评论功能 因为潜在色情信息被退回解决方案

    应用的每一次退回都是一次很好的学习机会 这次是说我的应用没有对色情的内容进行监管或屏蔽的管理机制 这里我主要是 评论页面 违法 如下 以下提供几种解决方案: 1.按照苹果给的建议  我们添加协议进去 ...

  2. Hadoop学习笔记(1) ——菜鸟入门

    Hadoop学习笔记(1) ——菜鸟入门 Hadoop是什么?先问一下百度吧: [百度百科]一个分布式系统基础架构,由Apache基金会所开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序. ...

  3. C#中常用的排序算法的时间复杂度和空间复杂度

    常用的排序算法的时间复杂度和空间复杂度   常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 ...

  4. Ralink RT3290无线网卡驱动安装 (linux)

    Ralink RT3290无线网卡驱动安装 (linux, 笔记备忘) 1. 设备信息查看无线网卡设备信息 # lspci : 2. 驱动下载http://pan.baidu.com/s/1sjsHN ...

  5. 剑指Offer45 约瑟夫环

    /************************************************************************* > File Name: 45_LastNu ...

  6. java基础-在dos控制台编写简易的java程序

    第一步:在文件夹中修改隐藏的文件扩展名,让其文件的扩展名全部显示: 第二步:在文件夹中新建一个text文件,将其扩展名属性改为Hello.java的文件扩展名: 第三步:点击右键打开方式用txt文本打 ...

  7. hibernate的第一个程序

    #建表语句 create database hibernate; use hibernate; create table user( id int primary key, name varchar( ...

  8. 【转】C#之继承

    本文意在巩固基础知识,并不是对其进行深入剖析,如若对各位高手没有什么作用,请绕过. 本文为原创文,所有示例均是博主测试过的,欢迎大家批评指正,如有转载请标明出处,谢谢. 继承.封装和多态是面向对象编程 ...

  9. Java 专业人士必备的书籍和网站列表

    对于 Java™ 语言开发人员来说,信息过量是一个真正的问题.每个新入行的程序员都要面临一个令人畏缩的挑战:要进入的行业是一个具有海量知识的行业.要了解的东西简直 太多了.对于有经验的老手来说,情况只 ...

  10. Shanghai InfoSys .NET engineer telephone interview

    Collect the answers,interested friends from research. 1,Interface and Abstract difference? 2,Generic ...