定义session php,63、PHP中SESSION定义、建立、删除方式

cookie是存储在用户客户端的,而session是存储在服务端的,session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。

当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你做什么,这是由于 HTTP 地址不能维持状态。

通过在服务器上存储用户信息以便随后使用,PHP session 解决了这个问题(比如用户名称、购买商品等)。不过,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久储存信息,可以把数据存储在数据库中。

第一步:开始session会话控制:

Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

把用户信息存储到 PHP session 中之前,首先必须启动会话。session_start() 函数必须位于 标签之前。

例如:

上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个唯一的 UID。

第二步:存储 Session 变量:

session变量类似于一个关联数组,可以为其添加元素,比如:

session_start();

$_SESSION['webname'] = 'fxxy';

$_SESSION['weburl'] = 'www.baidu.com';

echo $_SESSION['webname'];//fxxy

?>

第三步:删除session变量和session文件:

session不可能永远的存放在服务端,否则用户访问量很大的时候,会消耗内存空间,也会浪费服务器磁盘空间。当用户访问完毕或主动退出登录的时候就需要删除session变量,方法如下:

session_start();

$_SESSION['webname'] = 'fxxy';

$_SESSION['weburl'] = 'www.baidu.com';

echo $_SESSION['webname'];

session_unset();//将内存中的变量全部删除

session_destroy();//将sessionid对应的文件删除

setcookie(session_name(),'',time()-1,'/');//卸载cookie

echo $_SESSION['webname'];

其中session_unset()必须放在session_destroy()的前面,因为session_destroy()是删除存放在服务器上的session文件,如果先执行它的话,等到执行session_unset()的时候就找不到对应的sessionId导致报错!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值