荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Pazu (质变), 信区: Homepage
标 题: SESSION在PHP的使用
发信站: BBS 荔园晨风站 (Tue May 9 08:54:04 2000), 转信
PHP专题文章 - 类型:原创 - 作者:彭武兴 阅读人数: 579 人
整理编辑:中国PHP联盟
PHP4 中 session 的使用
来源:PHP殿堂
a
Session 一直是 PHP 拥护者心中的遗憾,在 PHP 还没支援 Session 之前,各方的 PHP
Session 解决方案一直出现。直到 PHP4 终於将 Session 纳入它的标准功能。从此 PHP
在 Session 上终於可以抬得起头了。
Session 中文实在是很难形容,一般都译成时域。其实是在浏览某个网站时,在浏览器没
有关闭的情形之下,都保持在同一个 Session 下。因此,利用 Session 的特性,可以计
算使用者从进站到现在所浏览的页数,也可以在伺服器端记载使用一些资讯,避免这些资
讯传到使用者端。
说得更白话一些,例如电子商务网站中 B to C 的网站 (商家对客户),常会有手推车的
功能 (Cart)。此时,将手推车的资讯留在伺服器端,不但可以记录使用者采买的资料,
也不会让这些相关资讯在网路上被截收,甚至以假乱真。
PHP4 产生的 Session 数字,是利用 Hash 杂凑所产生的 32 位元组的文字或数字。因为
产生时,时间也是它的种子,因此这个 Session 数字在该网站具有独一无二的特性。
欲使用 Session 的功能,首先要准备 PHP4 的版本,若使用 PHP3 及之前的版本,只好
在网路上找其它的解决方案了。由於 Session 牵涉到值的传递,因此,在编译 PHP4 时?
在加上 --enable-trans-sid 的参数,也就是允许 SessionID 的参数在不同的网页之中
传递。
PHP4 在运作时,不会主动产生 Session 的值,除非呼叫了 Session 的函式:
session_start()。告诉 Web 伺服器後端,也就是 PHP4 的程式,启动 Session 的功能。
此时,PHP4 即产生唯一的 Session 代码,并依在 php.ini 中所设定
session.save_path 的值 (内定为/tmp),将这个代码写入档案中,档案的名称类似
sess_a5aa4678de539d45cf5e2e3309751f6a。
由於此时 Session 已经启动了,因此可以将变数写到 Session 中,让这些变数可以在不
同的 Homepage 中传递。Session 函式 session_register() 就是负责这样的工作。例如
下例 1.php 的 $abc 参数可以让 2.php 直接使用:
<?php
// 档名 1.php
session_start();
$abc="ABCDEFG";
$zzz="zzzzzzz";
session_register("abc");
session_register("zzz");
echo "1.php";
?>
<?php
// 档名 2.php
session_start();
echo "2.php\n";
if (isset($abc)) {
echo $abc;
echo $zzz;
} else {
echo "变数没传进来";
}
?>
范例中的 Session 存在 /tmp/sess_33e401e2bf67a2f73b64d48b2aae6c4d,其内容类似:
abc|s:7:"ABCDEFG";zzz|s:7:"zzzzzzz";
可以看到,向 Session 注册的变数,以 ; 分开。而变数的名称及变数值,都记录在其中
。有了 Session 之後,网页不再是各自独立的程式,而是整个网站就像一套整合的应用
程式。
Session 对网站间的数值传递而言是很方便,不过它和浏拦,若使用者将 Cookie 关掉,
就会法预期它的结果了。
实际的使用时,请注意变数的名称,不要和别的变数冲到,那就很难找出问题的原因。而
变数可以有很多个,反正都是记在 /tmp/sess_xxxxxxxxxx... 之中,不过不要太滥用
Session 而让程式变得过於复杂,日後就很难维护了。
Session 的函式当然不只上述的二个,其它有关 Session 的函式,可以参考笔者的书PHP
BIBLE 中有关Session章节。
--
我和我的影子。
--
※ 修改:·DarkAkira 於 May 9 12:45:54 修改本文·[FROM: 192.168.29.1]
※ 来源:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.0.189]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店