php session 入门教程

session,中文名称为会话,它是指一类用来在客户端和服务器间保持会话连接状态的解决方案,同时由于其的广泛应用性,PHP作为一种web开发语言,当然也是完全的支持Session机制.

1.什么是session

session,中文名称为会话,它是指一类用来在客户端和服务器间保持会话连接状态的解决方案,同时由于其的广泛应用性,php作为一种web开发语言,当然也是完全的支持session机制.

具体针对web网站来说,session指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的时间,由此可知,session实际上是一个特定的时间概念.

通过使用session,我们就可以在网站的上下文不同页面间传递变量,将session用于用户身份认证,程序状态记录等,最常见的形式就是配合cookie使用,实现保存用户登录状态等功能.

2.php session用法

每一个网站访客都会被分配给一个唯一的标志符,即会话id,它的存放形式无非两种:要么经过url传递,要么保存在客户端的cookies里.当然,你也可以将session保存到数据库里,这样会更安全,但效率方面会有所下降.url方式传递安全性肯定太差,php的会话机制是通过设置cookie,在cookies中保存会话id(session id),在服务器端会生成session文件,与用户进行关联,web应用程序存储与这些session相关的数据,并在各页面间进行传递.

3.php session函数及使用

在php中有关session的函数比较多,不过我们最常用到的也就这么几个函数:

session_start(), session_register(),session_unregister(),

session_is_registered(),session_destroy函数.

session_start():启用session机制,在需要用到session的程序文件的最开始调用它.

session_register():注册session变量

session_unregister(): 删除session变量(一个一个删除)

session_is_registered(): 判断session变量是否注册

session_distroy(): 销毁所有session变量(所有session变量销毁)

需要注意下面几个方面:

1.函数session_start()必须在程序最开始执行,在其前面不能有任何输出内容,否则就会出现“warning:cannot send session cookie - headers already sent"类似这样的警告信息.

2.函数session_register()用于注册要保存在session中的相关变量,其用法如下:

  1. <?php
  2. $val = "session value";
  3. session_register("val");
  4. ?>

val即为要注册的session变量名,在注册时一定不要加上"$"符号,只写其变量名称即可.

3.函数session_unregister()与上面函数用法完全相同,但功能相反,上面函数是注册session变量,而其则是删除指定的session变量.

4.函数session_is_registered()用于判断session变量是否注册.

5.函数session_destroy()主要用于在系统注销和退出时,销毁所有的session变量,它没有参数,直接调用即可.

下面是一个简单的完整的使用样例程序:

  1. <?php
  2. session_start();
  3. $val = "session value";
  4. session_register("val");
  5. if(session_is_registered("val")) {
  6. session_unregister("val");
  7. }
  8. else {
  9. echo "val变量还未进行注册";
  10. }
  11. session_destroy();
  12. ?>