在PHP中使用会话控制功能

发布人:blankyao  时间:2007-12-08 03:07  来源: Php Question  查看: 532次
http://www.blankyao.cn/show-31.html

http是无状态的协议,也就是说,http没有一个 内建机制来维护两个事物之间的状态。比如说当用户登陆一个站点后,再去请求一个页面时,http无法告诉我们此用户已登陆。

会话控制的思想是指能够在网站中根据一个会话跟踪用户。这样的话我们就可以做到对用户登陆的支持,或根据订制显示相应的内容,根据会话记录用户的行为.....

php会话是通过唯一的会话ID来驱动的,会话ID是一个加密的随机数字,它由php生成,在会话的生命周期中都会保存在客户端,可以保存在用户机器的cookie中,或者通过url在网络上传递。在一些网站的URL中可以看到类似随机数字的字符串,可能就是某种形式的会话控制,cookie是与会话不同的解决方法,解决了在多个事务之间保持状态的问题,同时,他还可以保持一个整洁的 URL。

使用会话的基本步骤:

1 开始一个会话

第一种方法是调用session_start()函数;

第二种方法是将php设置为当有用户访问时就自动启动会话一个会话。可以使用php.ini中的session.auto_start选项开完成该设置(开启后将导致无法使用对象作为会话变量)

2注册一个会话

eg   $_SESSION['A']=1;

3使用会话变量

4注销或销毁会话

unset($_SESSION['A'])来销毁一个会话变量

$_SESSION=array();销毁所有的会话变量

当使用完一个会话后,首先应该注销所有的变量,然后再调用session_destroy()来清除会话ID

文章评论

共有 7 位PhpQ的网友发表了评论查看完整内容

  • kimi发表评论: 2007-12-08 14:26:16
  • session总的来说还是要比cookie好很多的

    但是session在对于需要存储的数据群比较大的时候就需要考虑分布式存储了~~~
  • blankyao发表评论: 2008-1-11 16:19:21
  • session总的来说还是要比cookie好很多的


    为啥子?
  • kimi发表评论: 2008-1-16 06:43:13
  • BS 居然2个一样的  blankyao呢
  • 习明发表评论: 2008-1-16 13:58:49
  • 楼上夜猫子啊? 大半夜不睡觉来灌水 不怕被传说中的小媛给MJJ了?
  • blankyao发表评论: 2008-1-16 18:52:29
  • 失误.......
  • kimi发表评论: 2008-1-16 21:00:10
  • QUOTE:

    原帖由 习明 于 2008-1-16 13:58 发表
    楼上夜猫子啊? 大半夜不睡觉来灌水 不怕被传说中的小媛给MJJ了?
    路过 路过 专业路过