您当前的位置: 首页 > 网站编程 > PHP教程 > 使用SESSION实现PHP会话的步骤

使用SESSION实现PHP会话的步骤

作者:xiaoxiao 来源:未知 发布时间: 2013-10-18 16:21 点击:
从事PHP开发的朋友都知道,在PHP中可以使用SESSION来实现一个会话控制,那么具体要怎样去实现?对于新手来说掌握这一方法尤其重要。一般来说,一个会话有如下几个基本的步骤: 1.开启一个会话 2.注册会话变量 3.使用会话变量 4.注销变量并销毁会话 当然,这些步骤也不

使用SESSION实现PHP会话的步骤

    从事PHP开发的朋友都知道,在PHP中可以使用SESSION来实现一个会话控制,那么具体要怎样去实现?对于新手来说掌握这一方法尤其重要。一般来说,一个会话有如下几个基本的步骤:
  
  1.开启一个会话
  
  2.注册会话变量
  
  3.使用会话变量
  
  4.注销变量并销毁会话
  
  当然,这些步骤也不一定都要发生在同一个PHP脚本中,其中的一些步骤可以在多个PHP脚本中发生。下面,就来依次具体的谈谈这些步骤。
  
  一、开启一个会话
  
  在使用会话功能前,必须开启一个会话。PHP提供了两种方法来开启一个会话。
  
  第一种方法,就是调用PHP内置函数sesseion_start()来开始一段脚本,这也是最简单的一种方法。
  
  该函数将检查是否存在一个会话ID。如果已经存在会话ID,就将这个已经注册的会话变量载入以便后面使用。如果不存在,就创建一个会话ID,并且使用其能够通过超级全局变量数组$_SESSION进行访问。在要使用到会话的脚本开始部分必须调用session_start()函数。如果没有调用,所有保存在该会话的信息都无法在当前脚本中使用。
  
  第二种方法是将PHP设置成当有用户访问网站的时候就自动开启一个会话。在php.ini文件中的session.auto_start选项完成该设置。不过这种方法有一个很大的缺点:启用auto_start设置导致无法使用对象作为会话变量。这是因为该对象的类定义必须在创建该对象的会话开始之前载入。
  
  二、注册一个会话变量
  
  从PHP4.1版本之后,我们可以将会话变量保存在超级全局数组$_SESSION中。要创建一个会话变量,只需在这些数组中设置一个数组元素,如下实例:
  
  $_SESSION['myage'] = 18;
  
  注意,使用超级全局数组$_SESSION创建会话变量只有在会话结束或者手动重置它时才会失效。根据php.ini文件对会话gc_maxlifttime指令设置,该会话也可能会过期。该指令确定会话的持续时间(单位为秒),超过设置时间,该会话将被自动结束。
  
  三、使用会话变量
  
  上面步骤中有提到过,要在当前脚本中使用已保存的会话变量,必须首先使用session_start()函数启动一个会话。使用该函数之后,就可以通过超级全局数组$_SESSION访问保存的会话变量了,例如,
  
  $_SESSION['myage']。
  
  当使用对象作为会话变量时,在调用session_start()函数重新载入会话变量之前,必须包含该类对象的定义。这样,PHP就知道如何构建这个会话对象。
  
  相反,在检查会话变量是否已经被设置时,必须非常小心。请注意,变量可以被用户通过GET或都POST设置。可以通过检查$_SESSION数组来确定一个变量是否是注册的会话变量。可以通过如下所示的代码来检查:
  
  if(isset($_SESSION['myage']))...
  
  四、注销变量与销毁会话
  
  要结束一个会话,首先要注销会话变量,然后销毁会话。当使用完一个会话变量后,就可以将其注销。通过$_SESSION数组的适当元素,可以直接注销会话变量,实例如下:
  
  unset($_SESSION['myage']);
  
  我们不能直接销毁整个$_SESSION数组,因为这样将禁用会话功能。要一次销毁所有的会话变量,可以使用如下所示的语句:
  
  $_SESSION = array();
  
  当使用完一个会话之后,首先应用注销所有变量,然后再调用:session_destroy()来清除会话ID。
  
  至此,使用SESSION实现简单会话的步骤已经全部结束。

分享到:
本文"使用SESSION实现PHP会话的步骤"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4