您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

长沙发上的对话(四)

作者:作者:未…    信息学院来源:网络收集    点击数:    更新时间:2006-8-27 我要参与讨论

  有很多给猫换肤的办法...

  当然,如果你的站点仍然运行着PHP3,你就无法使用迄今为止的任何代码。但是不要沮丧 -- 有另一种
提供给PHP3用户的解决办法。它就叫做PHPLIB,它提供了一组有用的类,允许在你的PHP3中增加对session
的管理。可以按照包中的指示进行安装,你还需要修改"local.inc"配置文件来创建你自已的类。

  象在PHP4中一样,在每次你初始化一个session时,你需要预先调用page_open()函数。PHPLIB返回一个
缺省的名为Example_Session的类 -- 你可以在"local.inc"文件中修改这个值 -- 它将用在下面的例子中:
--------------------------------------------------------------------------------
<?php

page_open(array("sess" => "Example_Session"));

?>
--------------------------------------------------------------------------------
  在任何发给浏览器的输出之前调用page_open()非常重要。为了注册你的session变量,下面的语句可以
完成这个工作。

--------------------------------------------------------------------------------
<?php

//初始化一个session
page_open(array("sess" => "Example_Session"));

//注册一个session变量
$sess->register('username');

?>
--------------------------------------------------------------------------------
  每一个页面也必须包含相应的page_close()函数,用来确认所以的改变量被保存在数据库中。
--------------------------------------------------------------------------------
<?php

page_close();

?>
--------------------------------------------------------------------------------
  除了这些,大部分的代码都是一样的。看一下以前例子的PHPLIB版本:
--------------------------------------------------------------------------------
<?php


//初始化一个session
page_open(array("sess" => "Custom_Session"));

//注册session变量 - 注意语法
$sess->register('username');
$sess->register('stock1');
$sess->register('stock2');
$sess->register('stock3');
$sess->register('stock4');

//连接MySQL
$db = mysql_connect("someserver.com", "tom", "jones");

//选择数据库
mysql_select_db("stock_db",$db);

//使用SQL查询数据库
$query = "select stock_pref1,stock_pref2,stock_pref3,stock_pref4
from user_info where username='$username'";

$result = mysql_query($query,$db);

// 从数据库中取股票代码,并赋值给session变量
list($stock1,$stock2,$stock3,$stock4) = mysql_fetch_row($result);

//输出
echo "Hi $username!<br>";
echo "Your selected stocks are:<br>";
echo "$stock1<br>";
echo "$stock2<br>";
echo "$stock3<br>";
echo "$stock4<br>";

//生成页面其余代码

//将数据保存到数据库中
page_close();
?>
--------------------------------------------------------------------------------
  如你所见,一旦你放下PHP4版本,理解PHPLIB版并不因难 -- 当你知道了PHP4中的对session的内部支
持很大程度上基于PHPLIB模块你就不会感到奇怪了。如果你感兴趣,PHPLIB实际上在对session的管理中,
对身份认证和权限的类更加深入,它允许你在基于数据库的认证管理上,给一个用户允许或禁止处理的权力
-- 可以看一下文档中关于如何使用这些特性的例子。

  PHPLIB也提供一些有趣的内建函数。

unregister(variable)
  允许你从一个特别的session中注销一个变量。注意在那种情况下,变量并没有被删除,可是它的值将
会在页尾丢失,因为它不再被保存到数据库

[1] [2] 下一页

在google里搜索更多长沙发上的对话(四)

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明