background image

9.问题 9:我是不是可以用像$HTTP_GET_VARS['**']方式来访问 session 值呢?

回答:可以,你可以使用如下

global 数组来访问 session,以加强网页的安全性

$HTTP_SESSION_VARS
$_SESSION
例程

:

<?php
session_start();
$username='stangly.wrong';
session_register('username');

echo$HTTP_SESSION_VARS['username'];
echo'<br>';
echo$_SESSION['username'];
?>
请参照此例程修改符合您自己的程序。

问题

10:session_unregister()和 session_destroy()有何区别?

session_unregister()函数主要作用是注消当前的一个 session 变量。不过要注意的是,如果你

$HTTP_SESSION_VARS 或$_SESSION 在当前页面中引用过 session 变量,那么你可能需

要和

unset()配合来注消 session 变量。

session_destroy()是清除当前的 session 环境。意思就是说,当你用 session_destroy()函数后,

那么你就不可能再用

session_is_registered()来检测 session 的变量了。但是需要注意的是他不

能清除

global 中的 session 或使用了 sessioncookie 的中的 session.所以在用 session_destroy 之

前,最好不要用

$HTTP_SESSION_VARS$_SESSION 来访问 session.(译自于 php.net)

例程:
if(isset($_COOKIE[session_name()])){
session_start();
session_destroy();
unset($_COOKIE[session_name()]);
}