PHP中Session的作用
2010-10-21 12:59:53 来源:WEB开发网PHP session变量的作用是:存储用户的session信息,或者改变用户的session设置。Session变量储存了一个单一用户的信息,它可以被所有的页面使用。
PHP Session变量
当你在自己的计算机上运行一个应用程序时,你打开它,对他做一些改变,然后关闭它,这个过程和session很相似。计算机知道你是谁,知道你什么时候启动了应用程序,什么时候关闭了应用程序。但在互联网上,会出现这样一个问题:因为HTTP地址不可能永久的保留下来,所以服务器很难辨认你是谁,你在干什么。
PHP Session允许你在服务器上储存用户信息(如:用户名[username]、购物清单[shopping]等等),从而解决了这个问题。然而,session信息也是临时存在的,当你离开这个网站时,他会被自动删除。如果你想永久保留这些信息,你可以尝试着把它储存在数据库中。
Session通过为每个访问者创建一个独立的ID(UID)并储存基于UID的变量来运行。UID既存储在cookie中,又在URL中展现出来。
启动PHP Session
在你将用户信息存入PHP Session之前,你必须先启动Session。
注意:session_start()函数必须写在<html>标签之前:
<?php session_start(); ?> <html> <body></body> </html>
上述代码将在服务器上注册一个用户的session,允许你储存用户信息,并为用户session指定一个UID。
储存一个Session变量
储存和获取session变量的最佳方法是使用PHP $_SESSION变量:
<?php session_start(); // store session data $_SESSION['views']=1; ?><html> <body><?php //retrieve session data echo "Pageviews=". $_SESSION['views']; ?></body> </html>
结果:
Pageviews=1
在上述案例中,我们建立了一个简易的页面计数器。Isset()函数检查“views”变量是否已经被设置。如果“views”变量已经被设置了,我们会增加我们的计数。如果“views”变量不存在,我们会先创建一个“views”变量,并把“1”赋给它。
<?php session_start(); if(isset($_SESSION['views'])) $_SESSION['views']=$_SESSION['views']+1; else $_SESSION['views']=1;echo "Views=". $_SESSION['views']; ?>
删除Session
如果你希望删除一些session数据,你可以使用unset()函数或session_destroy()函数。
Unset()函数的作用是释放指定的session变量:
<?phpunset($_SESSION['views']); ?>
你也可以使用session_destroy()函数将session全部删除:
<?php session_destroy(); ?>
注意:session_destroy()会重新设置你的session,你会丢失所有已保存的session数据。
更多精彩
赞助商链接