</html>
第三步,具体使用。
当一个用户访问了该网站后,随即用户的 session 就开始了,如果用户的浏览器支持 cookie 的话,将会
建立一个 session 的 id 放入 cookie
,
这个唯一的 ID 是由 PHP3 随机生成,然后又用随机种子字串进行 md5 加密过了的,这里的 cookie 应该叫
做 session cookie,因为这个 cookie
是不会
写到用户硬盘里去的,当一个 session 期结束的时候,该 cookie 也被完结了。如果用户浏览器不支持
cookie
的话,那么 该 session 的 id 将会放入 url
链中,
因为是加密过的,所以窃取了也没用。session ID 存放着用户的有关信息,如用户已认证、认证到期时间、
用户权限,和其他一些你可能需要的信息,
方便我们取用。
Session 其实就是用户一次会话的过程。Session 并不是仅仅用来跟踪用户的注册,实际上,它还可以有
其它的使用场合,你可以用它来存储任何你想要
存贮的信息,这些信息可以在用户随后访问的页面中派上用场,当然前提是那些页面要使用 PHPLIB。方法
很简单,注册一个变量后即可在随后的页面中使用它,
直至 session
结束。方法:
<?php $sess->register( "variable_name"); ?>
注意,这里的 variable_name 不是变量值,而是变量名,可以先指定变量名,随后再赋值。你在某个页面
中可以改变变量的值,随后的页面访问该变量时
会得到改变后的值。变量的类型是多样的,可以是一个字串,一个数字,一个数组。举例来说明:
第一页:
<?php
page_open(array("sess" => "Example_Session"));
$sess->register( "first"); //注意变量名前不需要加$
if (iset($firstname)) {
$first = $firstname;
}
.....
page_close();
?>
第二页:
<?php
page_open();//开始 session
echo $first;//
看看效果
page_close();//
保存状态信息
?>
注册完一个变量,当页面最后调用 page_close()函数后,各个 session 变量会被写回到数据库中。如果
你忘记调用 page_close()
函数的话,
变量就不会被写回数据库,将出现不可预知的后果。当变量被使用完毕,你不再需要用到时,可以调用以下
函数将变量删除:
<?php
page_open(array("sess" => "Example_Session"));
...
$sess->unregister( "variable_name");
...
page_close();
?>
PHPLIB 7.0 中,使用了一种存储结构,它允许你存储 session 数据到数据库中、共享内存中或者 LDAP
中。PHPLIB
使用了数据库类,这使得你有
了更多的选择,你可以选用 oracle8,mysql,postgresql
等等数据库来保存状态信息。
关于 phplib 中的其它功能以及有关 session 的其它函数的使用,你可以参看它带的手册,或上它的网站看
在线文档。它的老家在
http://phplib.netuse.de/index.php3
。