欢迎光临
我们一直在努力

长沙发上的对话(四)-PHP教程,其它文章

建站超值云服务器,限时71元/月

有很多给猫换肤的办法…

  当然,如果你的站点仍然运行着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中注销一个变量。注意在那种情况下,变量并没有被删除,可是它的值将

会在页尾丢失,因为它不再被保存到数据库中。

——————————————————————————–

<?php

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

//注册一个变量

$sess->register(username);

//检查是否它已经被注册了

if($sess->is_registered(username))

{

echo "variable "username" is registered!<br>";

}

else

{

echo "variable "username" is unregistered!<br>";

}

//注销一个变量

$sess->unregister(username);

//检查是否已经被注销

if($sess->is_registered(username))

{

echo "variable "username" is registered!<br>";

}

else

{

echo "variable "username" is unregistered!<br>";

}

page_close();

?>

——————————————————————————–

is_registered(variable)

  如果在一个session已经被注册了,返回true,否则返回false。

——————————————————————————–

<?php

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

if($sess->is_registered(username))

{

echo "a session variable by the name "username" already

exists";

}

else

{

$sess->register(username);

}

page_close();

?>

——————————————————————————–

delete()

  释放当前的session。

  要注意地有趣的一点是:在phplib的cookie模式中,有可能在调用过delete()之后开始一个新的session,

在客户端设置一个新的cookie,甚至重新注册一些以前session的变量 — 可以从根本上使改变session象飞

一样。当然,你象这样做事情,你需要让你的生活…快起来!

url($url)

  充许你将用户重定向到一个新的页面。

self_url()

  返回一个当前页的url的引用,包括php_self和query_string信息。

  那么在最后,对那些不幸拥有一个不提供php4和phplib的isp的你来说 — 记住,通过好的cookie 技术

总是可能模拟出session来的。你所要做的只是设置一个带有信息的cookie ,用来长期保留用户对你的站点

的访问过程,每次在用户访问一个新页面的时候处理这个信息。很原始 — 但是它可以工作,而且有时你也

不能将能够做成一件事的简单方法打死!

病人离开医院

病人: 哇哦,医生 — 太好了!非常感谢你做的一切!

心理医生: 没问题,维克多。我很乐意帮助你。现在感觉好点吗?

病人: 噢,轻松!当我刚进来时,整个天看上去都是灰色和阴沉的 — 现在,这个雨蓬窗户外面的景色从来

没有那么好过…

心理医生: 恩…维克多…如果我是你在外面会很小心,扶手有一点坏了,在那可能不太安全。

病人: 别担心,医生 — 象这样的天,我感到神…圣…啊啊!!!!

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 长沙发上的对话(四)-PHP教程,其它文章
分享到: 更多 (0)

相关推荐

  • 暂无文章