找回密码
 注册
【阿里云】2核2G云新老同享 99元/年,续费同价华为云精选云产品特惠做网站就用糖果主机Jtti,新加坡服务器,美国服务器,香港服务器
查看: 361|回复: 1

PHP脚本的8个技巧(2)

[复制链接]
发表于 2005 年 10 月 8 日 15:44:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
  会话用法  PHP 4.0有一个一直为人所期待的特性,这就是PHP的会话(session)支持。相比之下,PHP 3.0的用户则不得不使
用第三方的程序库或完全不能具备这项功能。缺乏会话支持能力是PHP最大的缺陷之一,也是它最受人指摘的地方。不过,随着会
话支持从早期测试版本的PHP 4.0开始就成为后者的一部分,这个障碍也荡然无存了。 有了会话支持,你就可以在用户访问网络
站点期间维持用户特定的变量而无须象现在这样:设置多个cookie、使用隐蔽表单域或在你可能经常要连结的一个数据库内存储
信息等。 在一个页面上启动会话就是告诉PHP引擎:你或是要开始一个会话(如果先前没有)或是继续目前的会话:
session_start(); 启动一个会话将通过cookie向用户发送一个标识字符串(比如940f8b05a40d5119c030c9c7745aead9);在服务
器端则会创建一个与此相匹配的临时文件,在以上例子中,其名称则是这个样子:sess_940f8b05a40d5119c030c9c7745aead9。该
文件包含了注册的会话变量及其赋值。 用户访问计数器可谓使用会话的最常见实例: 启动你的PHP模块,保证PHP代码是文件的
第一行:没有空白、没有HTML输出等等。这是因为,当会话函数发出一个文件头的时候,如果你在session_start()函数之前发送
了空白或者HTML代码,系统即会报错。 You've been here $count times.; 整个访问计数器代码如下所示: You've been here
$count times.; ?>     如果你重载以上脚本,你可以观察到计数值增加了。有意思吧? 你还可以在会话中注册数组。假设你有
一个名为$faves的数组: $faves = array ('chocolate','coffee','beer','linux'); 你可以象其他单个变量一样注册该数组:
session_register('faves'); 索引数组和索引其他单变量没有什么差别,比如$faves这样。如果你的用户想在Web站点的一个页
面上展示自己的爱好,那么你完全可以把他喜欢的东西注册为一个名为$faves会话变量,然后你可以在其他页面上把这些值打印
出来: ; while (list(,$v) = each ($faves)) { echo $v; } echo ; ?>      这就是你要得到的:用户爱好的漂亮列表。 会
话变量不能被查询字符串所覆盖,这就是说,你不能键入http:///www.yourdomain.com/yourscript.php?count=56 这样的指令为
注册会话变量$count分配新值。这一点对安全而言是非常重要的:你只能在服务器端脚本上修改或者删除(未注册的)会话变
量。 如果你想完全删除某个会话变量,你可以从系统中取消注册该变量: session_unregister('count'); 彻底删除某个会话,
比如按下Logout按钮就是这样的例子,那么你可以写下如下的代码: session_destroy(); 使用会话来存储变量值可以让我们免
于编写数据库处理代码的痛苦,这样也就不会过度增加对系统的负载,同时也减少了对专有数据库语法的使用范围,再说,你也
不再非得向访问站点的用户发送一大堆cookie了。而现在呢——只需要一个cookie、一个变量就全部搞定了,真是一滴水就映出
了全部光辉!实在是不能比这更简单的了。


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
 楼主| 发表于 2005 年 10 月 8 日 15:44:47 | 显示全部楼层
【腾讯云】2核2G云服务器新老同享 99元/年,续费同价

PHP脚本的8个技巧(2)

  会话用法  PHP 4.0有一个一直为人所期待的特性,这就是PHP的会话(session)支持。相比之下,PHP 3.0的用户则不得不使
用第三方的程序库或完全不能具备这项功能。缺乏会话支持能力是PHP最大的缺陷之一,也是它最受人指摘的地方。不过,随着会
话支持从早期测试版本的PHP 4.0开始就成为后者的一部分,这个障碍也荡然无存了。 有了会话支持,你就可以在用户访问网络
站点期间维持用户特定的变量而无须象现在这样:设置多个cookie、使用隐蔽表单域或在你可能经常要连结的一个数据库内存储
信息等。 在一个页面上启动会话就是告诉PHP引擎:你或是要开始一个会话(如果先前没有)或是继续目前的会话:
session_start(); 启动一个会话将通过cookie向用户发送一个标识字符串(比如940f8b05a40d5119c030c9c7745aead9);在服务
器端则会创建一个与此相匹配的临时文件,在以上例子中,其名称则是这个样子:sess_940f8b05a40d5119c030c9c7745aead9。该
文件包含了注册的会话变量及其赋值。 用户访问计数器可谓使用会话的最常见实例: 启动你的PHP模块,保证PHP代码是文件的
第一行:没有空白、没有HTML输出等等。这是因为,当会话函数发出一个文件头的时候,如果你在session_start()函数之前发送
了空白或者HTML代码,系统即会报错。 You've been here $count times.; 整个访问计数器代码如下所示: You've been here
$count times.; ?>     如果你重载以上脚本,你可以观察到计数值增加了。有意思吧? 你还可以在会话中注册数组。假设你有
一个名为$faves的数组: $faves = array ('chocolate','coffee','beer','linux'); 你可以象其他单个变量一样注册该数组:
session_register('faves'); 索引数组和索引其他单变量没有什么差别,比如$faves这样。如果你的用户想在Web站点的一个页
面上展示自己的爱好,那么你完全可以把他喜欢的东西注册为一个名为$faves会话变量,然后你可以在其他页面上把这些值打印
出来: ; while (list(,$v) = each ($faves)) { echo $v; } echo ; ?>      这就是你要得到的:用户爱好的漂亮列表。 会
话变量不能被查询字符串所覆盖,这就是说,你不能键入http:///www.yourdomain.com/yourscript.php?count=56 这样的指令为
注册会话变量$count分配新值。这一点对安全而言是非常重要的:你只能在服务器端脚本上修改或者删除(未注册的)会话变
量。 如果你想完全删除某个会话变量,你可以从系统中取消注册该变量: session_unregister('count'); 彻底删除某个会话,
比如按下Logout按钮就是这样的例子,那么你可以写下如下的代码: session_destroy(); 使用会话来存储变量值可以让我们免
于编写数据库处理代码的痛苦,这样也就不会过度增加对系统的负载,同时也减少了对专有数据库语法的使用范围,再说,你也
不再非得向访问站点的用户发送一大堆cookie了。而现在呢——只需要一个cookie、一个变量就全部搞定了,真是一滴水就映出
了全部光辉!实在是不能比这更简单的了。


转自:  http://edu.chinaz.com
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 11 月 20 日 08:37 , Processed in 0.018582 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表