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. UVa OJ 10300

    Problem A Ecological Premium Input: standard input Output: standard output Time Limit: 1 second Memo ...

  2. 2015 FVDI V6.3 Software Free Download

    2015 FVDI with software USB dongle has newly upgraded to V6.3. Here software upgrade list: ABRITES C ...

  3. 沈逸老师PHP魔鬼特训笔记(4)

    上一课我们通过shell脚本拷贝代码,了解了静态方法和静态属性.(还有个附件PHAR包,我直接无视了) 然后在GOD文件中写了一些参数, 我们也可以这样,把方法名像拼凑字符串一样拼起来. $get_p ...

  4. OC之Block的用法和实现委托

    Block的基本概念 Block的基本用法 Block实现委托机制 一.Block的基本概念 Block是程序的代码块,这个代码块可以在需要的时候执行.IOS开发中,block到处可见,所以学好很重要 ...

  5. 重构17-Extract Superclass(提取父类)

    当一个类有很多方法希望将它们“提拔”到基类以供同层次的其他类使用时,会经常使用该重构.下面的类包含两个方法,我们希望提取这两个方法并允许其他类使用. public class Dog { public ...

  6. 在ubuntu 部署svn服务器

    (1)安装svn sudo apt-get install subversion (2)新建一个仓库 mkdir /svn/test chmod 777 /svn/test sudo svnadmin ...

  7. 怒刷DP之 HDU 1260

    Tickets Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Stat ...

  8. Java中创建操作文件和文件夹的工具类

    Java中创建操作文件和文件夹的工具类 FileUtils.java import java.io.BufferedInputStream; import java.io.BufferedOutput ...

  9. 2000 Asia shanghai Dance Dance Revolution

    思路:dp[i][x][y]表示第i个序列中,右脚在x位置,左脚在y位置时,其最小花费. 那么dp[i][x][y]=min(dp[i-1][a[i]][y]+cost[a[i]][x],dp[i-1 ...

  10. hihocoder 1037 数字三角形

    #1037 : 数字三角形 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描述 小Hi和小Ho在经历了螃蟹先生的任务之后被奖励了一次出国旅游的机会,于是他们来到了大洋彼岸 ...