网站地图    收藏   

主页 > php专栏 > 流程控制语句 >

php session 入门教程 - php会话

来源:自学PHP网    时间:2014-11-27 22:01 作者: 阅读:

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

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. ?> 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论