使用SESSION实现PHP会话的步骤

在PHP中能够使用SESSION来实现一个会话控制,那么具体要怎样去实现?通常来讲,一个会话有以下几个基本的步骤:

1.开启一个会话 php

2.注册会话变量 数组

3.使用会话变量 session

4.注销变量并销毁会话 函数

固然,这些步骤也不必定都要发生在同一个PHP脚本中,其中的一些步骤能够在多个PHP脚本中发生。下面,就依次具体的谈谈这些步骤。 网站

1、开启一个会话 对象

在使用会话功能前,必须开启一个会话。PHP提供了两种方法来开启一个会话。 io

第一种方法,就是调用PHP内置函数sesseion_start()来开始一段脚本,这也是最简单的一种方法。 变量

该函数将检查是否存在一个会话ID。若是已经存在会话ID,就将这个已经注册的会话变量载入以便后面使用。若是不存在,就建立一个会话ID,而且使用其可以经过超级全局变量数组$_SESSION进行访问。在要使用到会话的脚本开始部分必须调用session_start()函数。若是没有调用,全部保存在该会话的信息都没法在当前脚本中使用。 gc

第二种方法是将PHP设置成当有用户访问网站的时候就自动开启一个会话。在php.ini文件中的session.auto_start选项完成该设置。不过这种方法有一个很大的缺点:启用auto_start设置致使没法使用对象做为会话变量。这是由于该对象的类定义必须在建立该对象的会话开始以前载入。 方法

2、注册一个会话变量

从PHP4.1版本以后,咱们能够将会话变量保存在超级全局数组$_SESSION中。要建立一个会话变量,只需在这些数组中设置一个数组元素,以下实例:

$_SESSION['myage'] = 18;

注意,使用超级全局数组$_SESSION建立会话变量只有在会话结束或者手动重置它时才会失效。根据php.ini文件对会话gc_maxlifttime指令设置,该会话也可能会过时。该指令肯定会话的持续时间(单位为秒),超过设置时间,该会话将被自动结束。

3、使用会话变量

上面步骤中有提到过,要在当前脚本中使用已保存的会话变量,必须首先使用session_start()函数启动一个会话。使用该函数以后,就能够经过超级全局数组$_SESSION访问保存的会话变量了,例如,

$_SESSION['myage']。

当使用对象做为会话变量时,在调用session_start()函数从新载入会话变量以前,必须包含该类对象的定义。这样,PHP就知道如何构建这个会话对象。

相反,在检查会话变量是否已经被设置时,必须很是当心。需注意,变量能够被用户经过GET或POST设置。能够经过检查$_SESSION数组来肯定一个变量是不是注册的会话变量。能够经过以下所示的代码来检查:

if(isset($_SESSION['myage']))...

4、注销变量与销毁会话

要结束一个会话,首先要注销会话变量,而后销毁会话。当使用完一个会话变量后,就能够将其注销。经过$_SESSION数组的适当元素,能够直接注销会话变量,实例以下:

unset($_SESSION['myage']);

咱们不能直接销毁整个$_SESSION数组,由于这样将禁用会话功能。要一次销毁全部的会话变量,能够使用以下所示的语句:

$_SESSION = array();

当使用完一个会话以后,首先应用注销全部变量,而后再调用:session_destroy()来清除会话ID。

至此,使用SESSION实现简单会话的步骤所有结束。
相关文章
相关标签/搜索