脚本宝典收集整理的这篇文章主要介绍了PHP脚本的10个技巧(2),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
会话
用法 PHP 4.0有
一个一直为人所期待的特性,这就是
PHP的会话(session)
支持。相比之下,
PHP 3.0的
用户则不得不使用第三方的程序库或完全不能
具备这项
功能。缺乏会话
支持能力是
PHP最大的缺陷之一,也是它最受人指摘的地方。
不过,随着会话
支持从
早期测试版本的
PHP 4.0
开始就成为后者的一部分,这个障碍也荡然无存了。
有了会话
支持,你就可以在
用户访问网络
站点期间维持
用户特定的变量而无须象现
在这样:设置多个cookie、使用隐蔽表单域或在你可能经常要连结的
一个数据库内存储信息等。
在
一个页面上启动会话就是告诉
PHP引擎:你或是要开始
一个会话(如果先前没有)或是继续目前的会话:
session_start();
启动
一个会话将通过cookie向
用户发送
一个标识字符串(比如940f8b05a40d5119c030c9c7745aead9);在
服务器端则会创建
一个与此相匹配的临时
文件,在以上例子中,其
名称则是这个样子:sess_940f8b05a40d5119c030c9c7745aead9。该
文件包含了
注册的会话变量及其赋值。
用户访问计数器可谓使用会话的最常见实例:
启动你的
PHP模块,保证
PHP代码是
文件的第一行:没有空白、没有HT
ML输出等等。这是因为,当会话
函数发出
一个文件头的时候,如果你在session_start()
函数之前发送了空白
或者HTML代码,系统即会报错。
<?
// if a session does not yet exist for this user,start one
session_start();
接下来,
注册一个名为count的变量。
session_register('count');
注册变量就等于告诉了
PHP:只要会话存在,
一个名叫count的变量也就
同时存在。目前这个变量还没有赋值。不过,如果你对它进行加1
运算的话,该值即可被赋值为1:
$count++;
把以上各行
代码一起考虑,实际上你已经启动了
一个会话(如果先前没有)、为某个
用户分配了会话id、
注册了名为count的变量并把$count加1以表示
用户首次访问
页面:
要
显示用户在当前会话下访问
页面的
次数,你只要打印出$count的值即可:
echo "<P>You've been here $count times.</p>";
整个访问计数器
代码如下所示:
<?
session_start();
session_register('count');
$count++;
echo "<P>You've been here $count times.</p>";
?>
如果你重载以上脚本,你可以观察到计数值
增加了。有
意思吧?
你还可以在会话中
注册数组。假设你有
一个名为$faves的数组:
$faves = array ('chocolate','coffee','beer','linux');
你可以象其他单个变量一样
注册该数组:
session_register('faves');
索引数组和索引其他单变量没有什么差别,比如$faves这样。如果你的
用户想在Web
站点的
一个页面上展示自己的爱好,那么你完全可以把他喜欢的东西
注册为
一个名为$faves会话变量,然后你可以在其他
页面上把这些值打印出来:
<?
session_start();
echo "
;my user likes:
<ul>";
while (list(,$v) =
each ($faves)) {
echo "<li>$v"; }
echo "</ul>";
?>
这就是你要得到的:
用户爱好的漂亮列表。
会话变量不能被
查询字符串所覆盖,这就是说,你不能键入http:///www.yourdom
ain
.COM/yourscript.
PHP?count=56 这样的指令为
注册会话变量$count分配新值。这
一点对安全而言是非常
重要的:你只能在服务器端脚本上
修改或者
删除(未
注册的)会话变量。
如果你想完全
删除某个会话变量,你可以从系统中取消
注册该变量:
session_unregister('count');
彻底
删除某个会话,比如按下
logout按钮就是这样的例子,那么你可以写下如下的
代码:
session_destroy();
使用会话来存储
变量值可以让我们免于编写
数据库处理
代码的痛苦,这样也就不会过度
增加对系统的
负载,同时也减少了对专有
数据库语法的使用范围,再说,你也不再非得向访问
站点的
用户发送一大堆cookie了。而现在呢――只需要
一个cookie、
一个变量就全部
搞定了,真是一滴水就映出了全部光辉!实在是不能比这更
简单的了。
脚本宝典总结
以上是脚本宝典为你收集整理的PHP脚本的10个技巧(2)全部内容,希望文章能够帮你解决PHP脚本的10个技巧(2)所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。