phpStudy
phpStudy
网站首页
软件下载
PHP教程
编程技术
PHP
MySQL
HTML
CSS
JavaScript
MSSQL
AJAX
.NET
JSP
window
Linux
Mac
ASP
服务器
CMS
SQL
jQuery
C#
C++
java
Android
IOS
oracle
MongoDB
PostgreSQL
SQLite
教程手册
php
html
html5
css
css3
JavaScript
ajax
jquery
sql
ado
asp
aspnet
browsers
careers
dhtml
dotnetmobile
dtd
e4x
glossary
hosting
htmldom
json
media
msnet
quality
rdf
rss
schema
semweb
site
sitemap
smil
soap
svg
tags
tcpip
vbscript
w3c
wap
web
webservices
wmlscript
wsdl
xforms
xhtml
xlink
xml
xmldom
xpath
xquery
xsl
xslfo
网站测速
小皮面板
智能dns
搜索
首页
PHP教程
长沙发上的对话(四)
长沙发上的对话(四)
有很多
给猫换
肤的办法
...
当然,如果你的站点仍然运行着
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
,用来长期保留用户对你的站点的访问过程,每次在用户访问一个新页面的时候处理这个信息。很原始
--
但是它可以工作,而且有时你也不能将能够做成一件事的简单方法打死!
病人离开医院
病人
:
哇哦
,医生
--
太好了!非常感谢你做的一切!
心理医生
:
没问题,维克多。我很乐意帮助你。现在感觉好点吗?
病人
:
噢,轻松!当我刚进来时,整个天看上去都是灰色和阴沉的
--
现在,这个雨蓬窗户外面的景色从来没有那么好过
...
心理医生
:
恩
...
维克多
...
如果我是你在外面会很小心,扶手有一点坏了,在那可能不太安全。
病人
:
别担心,医生
--
象
这样的天,我感到神
...
圣
...
啊啊!
!
!
!
本文作者:
«
»
PHP教程
PHP简介
PHP基本语法
PHP类型
PHP变量
PHP运算符
PHP控制结构
PHP函数
PHP类与对象
PHP异常处理
函数库分类
快速导航
PHP
MySQL
HTML
CSS
JavaScript
MSSQL
AJAX
.NET
JSP
Linux
Mac
ASP
服务器
SQL
jQuery
C#
C++
java
Android
IOS
oracle
MongoDB
SQLite
wamp
交通频道
Copyright © 2016 phpStudy | 豫ICP备2021030365号-3