、留言板地制作、留言板地制作.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
、留言板地制作、留言板地制作

实例1:留言板的制作 我们的这个留言板由服务器端和客户端两部分构成。其工作过程是这样的:用户在Flash电影的第1帧中的输入文本中输入“姓名”、“留言内容”等,然后单击“发送”按钮发送留言,随后,在服务器端的CGI程序完成向数据库中追加;留言的处理后,用户会被带入到Flash电影的第2帧,在该帧中Flash会调用另一个CGI程序显示用户本次的留言和之前所有其它人的留言。 下面我们分别完成服务器端CGI程序和客户端Flash的开发。 1. 服务器端CGI程序的编写 服务器端有3个文件:一个用于把有Flash发来的留言内容写入文本数据库的CGI程序leaveword.pl,一个用于把文本数据库中的所有留言发送回Flash的CGI程序leaveworddisplay.pl,以及一个用于保存留言的文本数据库文件leaveword.log。 在这个留言板中,我们将收集用户的“姓名”、“来自地区”、“电子邮箱”、“个人网址”、“留言内容”5个信息。这些信息文本在文本数据库中的存储格式如下所示: 陈冰::青岛::icefall@126.com::::这是一个测试。 我们将用::分割每个字段。因此,我们应该在把用户的留言内容提交的数据库之前,从所有5个信息中剔除可能存在的“::”以免让用户无意的输入给我们的数据库造成破坏。 首先,我们来看leaveword.pl的代码: #!/usr/local/bin/perl #调用readparse子程序对由Flash发送来的URL编码数据进行解码。 readparse; print Content-type: text/html\n\n; open(LOGFILE, cgi-bin/leaveword.log); #把所有留言读取到entries数组中。 #数组中的每个元素就是数据库中的一条记录,即一次留言信息。 @entries=LOGFILE; close LOGFILE; $arraylength=@entries; #以追加方式打开leaveword.log,为把新的留言写入数据库做好准备。 open (LOGFILE, cgi-bin/leaveword.log); #因为在我们的文本数据库中是用::来作为字段分隔符的,因此需要将留言中所有的:都剔除。 #value数组中保存着已被解码的可用数据。 $value[0]=~ s/://g; $value[0]=~ s/|//g; #如果用户的某项信息没有输入内容,就用默认的“未填写”来代替。 if ($value[0] eq ) { $value[0]=未填写; } $value[1]=~ s/://g; $value[1]=~ s/|//g; if ($value[1] eq ) { $value[1]=未填写; } $value[2]=~ s/://g; $value[2]=~ s/|//g; if ($value[2] eq ) { $value[2]=未填写; } $value[3]=~ s/http:\/\///g; $value[3]=~ s/://g; $value[3]=~ s/|//g; if ($value[3] eq ) { $value[3]=未填写; } else { $value[3]=http://$value[3]; } $value[4]=~ s/://g; $value[4]=~ s/\n//g; $value[4]=~ s/|//g; #如果有人恶意(或无意中)输入了大量的连续的英文、数字或符号,以致会破坏留言系统的格式化,那么就将这些东西剔除。 #这种[!-~][!-~][!-~]……处理机制主要是用于在HTML页面中显示内容时防止数据库格式被恶意破坏的。 $value[4]=~ s/[!-~][!-~]~~//g; if ($value[4] eq ) { $value[4]=未填写; } #用::来把数组中所有元素连接成一个字符串,再把这个字符串赋给变量newline。 $newline=join(::,@value); #得到用户提交留言的时间。 ($sec, $min, $hour, $mday, $mon, $year, $wday, $ydat, $isdst) = gmtime(); $mon++; #处理千年问题。 $year=$year+1900; #从gmtime()函数中得到的是格林威治时间,因此需要计算出北京时间(北京在时区上位于东八区)。 if ($hour=0 $hour=15) { $hour=$hour+8; } else { $hour=($hour+8)-24; $mday=$mday+1; } if ($mon10) { $

文档评论(0)

vshoulrengb3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档