会话跟踪技术——Session

一、什么是Session
  • Session从用户访问页面开始,到断开与网站连接为止,形成一个会话的生命周期。在会话期间,分配客户唯一的一个SessionID,用来标识当前用户,与其他用户进行区分。
  • Session会话时,SessionID会分别保存在客户端和服务器端两个位置,对于客户端使用临时的Cookie保存(Cookie名称为PHPSESSID)或者通过URL字符串传递,服务器端也以文本文件形式保存在指定的Session目录中。
  • Session通过ID接受每一个访问请求,从而识别当前用户、跟踪和保持用户具体资料,以及Session变量(在Session活动期间,可在Session中存储数字或文字资料),比如session_name等等,这些变量信息保存在服务器端。
  • SessionID可以作为会话信息保存到数据库中,进行Session持久化,这样可以跟踪每个用户的登陆次数、在线与否、在线时间等。
 
二、使用会话的基本步骤:
  • 开始会话
    • session_start()  开始一个会话或者返回已经存在的会话。
  • 注册会话变量    
    • PHP5使用$_SESSION[‘xxx’]=xxx 注册SESSION全局变量。和GET,POST,COOKIE的使用方法相似。
    • 例子:
      $_SESSION['username']="tangcaiye";
  • 使用会话变量
    • 例子:
      echo $_SESSION['username'];
  • 注销变量并销毁会话
    • 注销例子:
      • 例子:
        session_start();
        unset($_SESSION['username']);
    • 销毁会话:
      • session_unset()函数清除存储在当前会话中的所有变量,它能有效地将会话重置为创建时的状态。
      • session_destroy()函数从存储机制中完全删除会话,使当前会话失效。
 
三、cookie和session的区别:
  • cookie和session都可以暂时保存多个页面中使用的变量,但是它们有本质的差别:
  • cookie存放在客户端浏览器中;
  • session保存在服务器上;
  • 它们之间的联系是session ID 一般保存在cookie中,或者放在URL上。
 
posted @ 2015-06-11 11:29  心胸广阔  阅读(570)  评论(0编辑  收藏  举报