设为首页收藏本站language 语言切换
查看: 1416|回复: 0
收起左侧

PHP4.0中函数Session_register的妙用

[复制链接]
发表于 2010-2-24 13:36:12 | 显示全部楼层 |阅读模式
<br>                   ---- PHP 4.0 是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比 PHP 3.0 快,其脚本描述更强大并且更复杂, 最显著的特征是速率比的增加。因此,在很多网站的建设中都选择了这样的组合:Linux+Apache+Php4+Mysql,这对PHP4需要熟练掌握,本文就对PHP4的一个新函数session_register在实际中的妙用做一介绍。  <BR><BR>---- 一:个性化的 HTTP Session支持  <BR><BR>---- PHP4在3.0版的基础上增加或增强了许多有用的特征,其中个性化的 HTTP Session支持是PHP用户期待已久的。HTTP Session处理, 包括 fallback 系统管理,在 PHP 4.0被它的新库函数实现 。在版本 3.0 中处理Session要求使用 PHPLIB 和第三方的库函数, 它比把Session直接地由 PHP 支持慢了许多。PHP 4.0里提供的Session函数库为PHP使用者提供了更大的方便,而函数session_register()在实际中的应用就更为广泛。  <BR><BR>---- 二:函数:session_register()说明  <BR><BR>---- session_register作用:注册新的变量。  <BR><BR>---- 语法: boolean session_register(string name);  <BR><BR>---- 返回值: 布尔值,成功则返回 true 值。  <BR><BR>---- 函数种类: 资料处理  <BR><BR>---- 内容说明 :本函数在全域变量中增加一个变量到目前的 Session 之中。参数 name 即为欲加入的变量名。  <BR><BR>---- 三:函数session_register在实际中的妙用  <BR><BR>---- 在使用PHP建设虚拟社区的时候,必然遇到用户ID的识别问题,在以往的CGI中,解决这个问题存在难度,但程序员都有自己的一套解决方案。ASP出现之后,带来了一种技术:session,这在很大程度上方便了这一问题的解决。在早期的PHP版本中,没有很好的解决这个问题,PHP4.0的推出就给了使用者一个函数库:session函数库,靠这个函数库里的函数很方便的实现ID识别问题。看一个具体的范例吧:  <BR><BR>---- 1:程序说明:  <BR><BR>---- login.php:登录页,用户用来登录页面  <BR><BR>---- index.php:测试页,登录后访问的页面  <BR><BR>---- check.php:验证文件,用于用户ID和PASSWORD的识别  <BR><BR>---- config.inc.php:参数文件,保存着用户的用户名和口令  <BR><BR>---- 2:登录页login.php的具体内容:  <BR><BR>&lt; ? <BR>//引入文件config.inc.php,准备使用变量$USER和 $PASSWORD <BR>include "config.inc.php"; <BR>//注册一个session变量userpassword <BR>session_register("userpassword"); <BR>if ($user1==$USER and $password1==$PASSWORD){   <BR>//判断登录的用户ID和PASSWORD是否正确 <BR>$userpassword=$user1.$password1;     <BR>//假如正确就把ID和PASSWROD合并后的 <BR> //值保存到session变量$userpassword, <BR>header ("Location: index.php");        <BR>//并跳转到测试页index.php, <BR>exit();                                        <BR>//否则就停留在登录页login.php。 <BR>                              } <BR><BR>? &gt; <BR><BR>&lt; HTML &gt; <BR>&lt; HEAD &gt; <BR>&lt; title &gt;登录页&lt; /title &gt; <BR>&lt; /HEAD &gt; <BR><BR>&lt; BODY &gt; <BR>&lt; form method="OST" action="" &gt; <BR> &lt; div align="center" &gt;&lt; center &gt; <BR> &lt; table border="0" width="55%" <BR>  height="153" &gt; <BR>    &lt; tr &gt; <BR>    &lt; td width="100%" align="center" height="47" &gt; <BR>    管理员帐号:&lt; input type="text" <BR>    name="user1" size="20" value="" &gt;&lt; /td &gt; <BR>    &lt; /tr &gt; <BR>    &lt; tr &gt; <BR>   &lt; td width="100%" align="center" height="43" &gt; <BR>   管理员密码:&lt; input type="password" <BR>   name="password1" size="20" value="" &gt;&lt; /td &gt; <BR>    &lt; /tr &gt; <BR>    &lt; tr &gt; <BR>  &lt; td width="100%" align="center" height="51" &gt; <BR>&lt; input type="submit" value="登录" name="ok" class=wdBlack &gt; <BR>&lt; input <BR>type="reset" value="清除" name="B2" class=wdBlack &gt;&lt; /td &gt; <BR>    &lt; /tr &gt; <BR>  &lt; /table &gt; <BR>  &lt; /center &gt;&lt; /div &gt; <BR>&lt; /form &gt; <BR>&lt; /body &gt; <BR>&lt; /html &gt; <BR><BR>---- 3:测试页index.php的具体内容如下:  <BR><BR>&lt; ? <BR>// 引入文件check.php,验证用户ID和PASSWORD, <BR>此文件在index.php运行最初的时候执行 <BR>  include "check.php"; <BR>? &gt; <BR><BR>&lt; html &gt; <BR><BR>&lt; head &gt; <BR>&lt; title &gt;测试页&lt; /title &gt; <BR>&lt; /head &gt; <BR><BR>&lt; body &gt; <BR>这是测试页,当你看到这些内容的时候说明你的ID验证通过 <BR>&lt; /body &gt; <BR>&lt; /html &gt; <BR><BR>---- 4:check.php的具体内容如下:  <BR><BR>&lt; ? <BR>//引入文件config.inc.php,准备使用2个变量$USER和$PASSWORD <BR>include "config.inc.php"; <BR>//从目前的 Session 中提取出已经定义好的变量$userpassword的值。 <BR>   session_register("userpassword"); <BR>//判断用户ID和PASSWORD是否经过登录页, <BR>如果没有就返回到登录页:login.php <BR>  $userpassword1=$USER.$PASSWORD; <BR>  if($userpassword!=$userpassword1) { <BR>     header ("Location: login.php"); <BR>     exit; <BR>                                } <BR>? &gt; <BR><BR>---- 5:参数文件config.inc.php的具体内容如下:  <BR><BR>&lt; ? <BR>// 保存用户ID和PASSWORD <BR>  $USER="china"; <BR>  $PASSWORD="jilin"; <BR>? &gt;                   <br><br>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-5 21:14 , Processed in 0.152233 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

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