background image

</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