📄 001228_4.asp.html
字号:
< option value=“10" >陕西</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“11" >甘肃</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“12" >宁夏</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“13" >青海</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“14" >新疆</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“15" >西藏</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“16" >四川</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“17" >云南</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“18" >贵州</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“19" >重庆</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“20" >湖北</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“21" >湖南</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“22" >江西</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“23" >安徽</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“24" >江苏</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“25" >上海</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“26" >浙江</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“27" >福建</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“28" >广东</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“29" >广西</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“30" >海南</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“31" >香港</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“32" >澳门</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“33" >台湾</td></tr></table><table align=center width=620><tr><td class=a14>< option value=“34" >海外</td></tr></table><table align=center width=620><tr><td class=a14>< /select ></td></tr></table><table align=center width=620><tr><td class=a14>< br >< input type=“submit" value=</td></tr></table><table align=center width=620><tr><td class=a14>“填写无误,可以发出" ></td></tr></table><table align=center width=620><tr><td class=a14>< /form ></td></tr></table><table align=center width=620><tr><td class=a14>< /BODY ></td></tr></table><table align=center width=620><tr><td class=a14>< /HTML ></td></tr></table><table align=center width=620><tr><td class=a14></td></tr></table><table align=center width=620><tr><td class=a14>在服务器端采用Perl的关联性数组进行分流 </td></tr></table><table align=center width=620><tr><td class=a14>当Form中的数据提交到服务器端的CGI程序处理时,用什么方法进行分流呢?对于多重选择场合,采用单纯的if...else结构既费时又程序长,应当采用更好的结构。 </td></tr></table><table align=center width=620><tr><td class=a14>在C语言中,可以用switch语句进行分流。不过CGI程序用得最多的是Perl语言,Perl语言具有极佳的稳定性、跨平台性,并且开放源码。因此,下面的CGI程序采用的是Perl5.0。 </td></tr></table><table align=center width=620><tr><td class=a14></td></tr></table><table align=center width=620><tr><td class=a14>Perl5.0中的关联性数组(又叫哈希结构)具有数据对应特性,适合于根据提交到服务器端的数据进行分流。 </td></tr></table><table align=center width=620><tr><td class=a14></td></tr></table><table align=center width=620><tr><td class=a14>程序中的各省份用户名单是一个文本数据库,由各用户姓名、密码组成。“登录成功"、“密码错误"、“查无此人"三个子程序用于输出相应Web 页面,前一个比较复杂,后两个相当简单,故均略去。 </td></tr></table><table align=center width=620><tr><td class=a14></td></tr></table><table align=center width=620><tr><td class=a14>#!/usr/bin/perl</td></tr></table><table align=center width=620><tr><td class=a14>use CGI;</td></tr></table><table align=center width=620><tr><td class=a14>#调用CGI模块</td></tr></table><table align=center width=620><tr><td class=a14>%p=(01= >‘黑龙江',02= >‘吉林',03= ></td></tr></table><table align=center width=620><tr><td class=a14>‘辽宁',04= >‘内蒙古',05= >‘天津',06= ></td></tr></table><table align=center width=620><tr><td class=a14>‘北京',07= >‘河北',08= >‘山东',09= >‘河南',</td></tr></table><table align=center width=620><tr><td class=a14>10= >‘陕西',11= >‘甘肃',12= >‘宁夏',13= ></td></tr></table><table align=center width=620><tr><td class=a14>‘青海',14= >‘新疆',15= >‘西藏',16= >‘四川',</td></tr></table><table align=center width=620><tr><td class=a14>17= >‘云南',18= >‘贵州',19= >‘重庆',20= >‘湖北',</td></tr></table><table align=center width=620><tr><td class=a14>21= >‘湖南',22= >‘江西',23= >‘安徽',24= >‘江苏',</td></tr></table><table align=center width=620><tr><td class=a14>25= >‘上海',26= >‘浙江',27= >‘福建',28= >‘广东',</td></tr></table><table align=center width=620><tr><td class=a14>29= >‘广西',30= >‘海南',31= >‘香港',32= >‘澳门',</td></tr></table><table align=center width=620><tr><td class=a14>33= >‘台湾',34= >‘海外');</td></tr></table><table align=center width=620><tr><td class=a14>#建立数字与省份的关联性数组</td></tr></table><table align=center width=620><tr><td class=a14>$db=param(‘province');</td></tr></table><table align=center width=620><tr><td class=a14>$dbf=$p{$db}.“用户名单";</td></tr></table><table align=center width=620><tr><td class=a14>#读入省份代码,转化为相应省份用户名单</td></tr></table><table align=center width=620><tr><td class=a14>$xm=param(‘xm');</td></tr></table><table align=center width=620><tr><td class=a14>$ps=param(‘ps');</td></tr></table><table align=center width=620><tr><td class=a14>#读入姓名、密码</td></tr></table><table align=center width=620><tr><td class=a14>open (DB,“$dbf")||die “$!";</td></tr></table><table align=center width=620><tr><td class=a14>#打开相应省份用户名单</td></tr></table><table align=center width=620><tr><td class=a14>%qc=< DB >;</td></tr></table><table align=center width=620><tr><td class=a14>#将用户名单与密码读入一个关联性数组</td></tr></table><table align=center width=620><tr><td class=a14>close (DB);</td></tr></table><table align=center width=620><tr><td class=a14>#关闭该省份用户名单</td></tr></table><table align=center width=620><tr><td class=a14>if (exists $qc($xm,$db)) {</td></tr></table><table align=center width=620><tr><td class=a14>#检验是否有此用户</td></tr></table><table align=center width=620><tr><td class=a14>if ($qc($xm)==$ps) {</td></tr></table><table align=center width=620><tr><td class=a14>#检验密码是否正确</td></tr></table><table align=center width=620><tr><td class=a14>pass($xm);}</td></tr></table><table align=center width=620><tr><td class=a14>#若有此用户且密码正确,进入</td></tr></table><table align=center width=620><tr><td class=a14>“登录成功"子程序</td></tr></table><table align=center width=620><tr><td class=a14>else{nopass();}</td></tr></table><table align=center width=620><tr><td class=a14>#若有此用户但密码不正确,进入</td></tr></table><table align=center width=620><tr><td class=a14>“密码错误"子程序</td></tr></table><table align=center width=620><tr><td class=a14>else{nobody();}</td></tr></table><table align=center width=620><tr><td class=a14>#若无此用户,进入“查无此人"子程序</td></tr></table><table align=center width=620><tr><td class=a14></td></tr></table><table align=center width=620><tr><td class=a14>结 语 </td></tr></table><table align=center width=620><tr><td class=a14>其实,本文所介绍方法已经有应用,例如广东视聆通 (www.21cn.com)的免费邮箱登录。 </td></tr></table><table align=center width=620><tr><td class=a14>此外,本文所介绍“基于Web的Form多响应方法",每个Form仍然只能有一个服务器端程序响应,不过进行子程序分流罢了。因此这种方法适用于相似多响应,对于各响应完全不同的情况作用不大。当然,Web上同一Form各响应完全不同似乎不太可能。</td></tr>
</table><br>
<table align=center width=620><tr><td align=right>(网页编辑:<a href='mailto:app@ccw.com.cn'>徐向阳</a>)</td></tr></table><br>
<table align=center width=620><tr><td align=right>
<form method=post action='/pub/subMail.asp' onsubmit='JavaScript: return chkField(this)'>
<INPUT type='hidden' name='rec' value='443'>
您的姓名:<INPUT type="text" name=myName size=10>
您朋友的E-mail:<INPUT type="text" name=friendMail size=10>
<INPUT type="submit" value="推荐给好友">
</form>
</td></tr>
<tr><td align=right>
<b>[<a href="javascript:window.close()">关闭窗口</a>]</b>
</td></tr>
</table>
<script language="javascript">function chkField(fmObj)
{if (!fmObj.friendMail.value){
alert("请输入您朋友的E-mail!");
fmObj.friendMail.focus();
return false;
}
return true;
}
</script>
<table align=center width=680>
<tr><td><hr size=1 width=660 color=#f46240></td></tr>
</table><br>
<p align=center>Copyright(C) ccw.com.cn,All rights reserved</p>
<p align=center><b>中国计算机世界出版服务公司版权所有</b></p><!-- This document saved from http://www.ccw.com.cn/htm/app/aprog/001228_4.asp -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -