以下为PHP中SESSION的创建、读取删除方式,我们只讲使用方法,原理大家自己补习。
session_start()创建
把用户信息存储到 PHP session 中之前,首先必须启动会话。session_start() 函数必须位于 标签之前。
例如:
1 2 3 4 5 6 7 | <?php session_start(); ?> <html> <head> </head> <body> </body> </html> |
上面的代码会向服务器注册用户的会话,以便您可以开始保存用户信息,同时会为用户会话分配一个唯一的 UID。
存储Session变量
session变量类似于一个关联数组,可以为其添加元素,比如:
1 2 3 4 5 6 | <?php session_start(); $_SESSION [ 'webname' ] = '我的站长站' ; $_SESSION [ 'weburl' ] = 'www.wdzzz.com' ; echo $_SESSION [ 'webname' ]; //fxxy ?> |
删除session变量
session不可能永远的存放在服务端,否则用户访问量很大的时候,会消耗内存空间,也会浪费服务器磁盘空间。当用户访问完毕或主动退出登录的时候就需要删除session变量,方法如下:
1 2 3 4 5 6 7 8 | session_start(); $_SESSION [ 'weburl' ] = 'www.51yma.cn' ; 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导致报错!