腾讯云618限量抢购
  1. PHP+MySQL数据库教程
  2. PHP进阶教程
  3. ThinkPHP 3.0/3.1 教程

PHP Session

最后更新:2010-10-27 21:00阅读:47451

PHP Session 概述

session 是一种客户与网站(服务器)更为安全的对话方式。一旦开启了 session 会话,便可以在网站的任何页面使用(保持)这个会话,从而让访问者与网站之间建立了一种“对话”机制。

常见的网上购物车,就是一个session会话的典型应用。我们在预定商品的时候,将选择好的商品放入购物车,实际就是开启一个商品的session会话。如果对选择的商品下了订单,则会将对应信息写入数据库;如果最终没有下订单,在用户关闭浏览器或退出登陆的时候,则会关闭session会话,选择的商品随即失效。

session 会话会为每一个开启了 session 会话的访问者建立一个唯一的会话 ID ,用于识别用户。该会话 ID 可能存储于用户电脑的 cookie 内,也可能通过 URL 来传递。而对应的具体 session 值会存储于服务器端,这也是与 cookie 的主要区别,并且安全性相对较高。

创建 session

要创建 session ,必须先使用 session_start() 函数开启一个 session 会话,系统会分配一个会话 ID:

<?php
session_start();
?>

使用 session_register() 函数注册一个 session 变量,成功返回 TRUE ,否则返回 FALSE 。

语法:

bool session_register( mixed name [, mixed ...] )

使用 session_register() 函数可以在目前会话下注册一个或多个全局 session 变量。

例子:

<?php
session_start();
$username = "xiaoli";
session_register("username");
?>

在该例子中,我们向 session 注册了一个名为 username 的变量,其值为 xiaoli 。

读取 session

PHP 内置的 $_SESSION 变量可以很方便的访问设置的 session 变量。

例子:

<?php
session_start();
echo "登记的用户名为:".$_SESSION["username"];    //输出 登记的用户名为:xiaoli
?>

销毁 session

可以通过 session_unregister() 函数来注销单个 session 变量或使用 session_unset() 来注销整个 session 会话。

例子:

<?php
session_start();
session_unregister("username");    //注销 session 变量
session_unset();                    //注销 session 会话
?>

另一种方式

可以通过直接添加 $_SESSION 数组成员的方式注册 session 变量:

<?php
session_start();
$_SESSION["username"] = "xiaoli";
?>

如果要注销这种方式注册的 session 变量,需要使用 unset() 函数:

<?php
session_start();
unset($_SESSION["username"]);
?>

读取 session 变量与销毁 session 会话则同前面的方式相同。

提示

不可使用 unset() 来销毁 session 会话。

腾讯云618限量抢购