session的使用

来源:互联网 发布:mac隐藏windows分区 编辑:程序博客网 时间:2024/06/05 20:15

用户在登录一个网站时,登录的时候会创建一个Seesion记录用户的一些信息,Session_start()函数就是创建Seesion的。

Session_start()函数会创建一个唯一的Session ID,并自动通过HTTP的响应头,将这个Session ID保存到客户端Cookie中。同时,也在服务器端创建一个以Session ID命名的文件,用于保存这个用户的会话信息。当同一个用户再次访问这个网站时,也会自动通过HTTP的请求头将Cookie中保存的Seesion ID再携带过来,这时Session_start()函数就不会再去分配一个新的Session ID,而是在服务器的硬盘中去寻找和这个Session ID同名的Session文件,将这之前为这个用户保存的会话信息读出,在当前脚本中应用,达到跟踪这个用户的目的。 Session以数组的形式使用,如:$_SESSION['session名']

一、注册一个会话变量和读取Session

  在PHP中使用Session变量,除了要启动之外,还要经过注册的过程。注册和读取Session变量,都要通过访问$_SESSION数组完成。在$_SESSION关联数组中的键名具有和PHP中普通变量相同的命名规则。注册Session变量的代码如下所示:

<?php
//启动session的初始化
session_start();
//注册session变量,赋值为一个用户的名称
$_SESSION["username"]="skygao";
//注册session变量,赋值为一个用户的ID
$_SESSION["uid"]=1;
?>

二、注销变量与销毁Session

  当使用完一个Session变量后,可以将其删除,当完成一个会话后,也可以将其销毁。如果用户退出Web系统,就需要为他提供一个注销的功能,把他的所有信息在服务器中销毁。销毁和当前Session有关的所有的资料,可以调用session_destroy()函数结束当前的会话,并清空会话中的所有资源。销毁Session变量的代码如下所示:

<?php
session_start();
开启Session并初始化
$_SESSION = array();

//删除所有Session的变量,也可以用unset($_SESSION[XXX])逐个删除
if(isset($_COOKIE[session_name()])) {
    setCookie(session_name(), "", time()-3600, "/");
}
//如果使用基于Cookie的session,使用setCookkie()删除包含Session ID的cookie
session_destroy();
//最后彻底销毁session
?>

值得注意的一点:session_start()函数之前不能有任何输出

0 0
原创粉丝点击