![Rank: 2](images/default/star_level2.gif)
- UID
- 2033152
- 威望
- 1 点
- 金钱
- 3090 金币
- 点卡
- 0 点
|
26#
发表于 2002-11-22 17:46
| 只看该作者
关于cgi的站点
EMAIL
EMAIL也是最常用的CGI应用程序之一,其目的是给来宾的留言一个应答.
HTML语法:
<HTML>
<title>留言</title>
<h1>留言薄</h1>
<form methdo="post" actiont="/cgi-bin/guest.cgi">
<p>您的姓名:<input name="name" size="20">
<p>您的E-MAIL:<input name="email" size="30">
<p>您的留言<textarea name="suggest" cols=30 rows=4></textarea><p>
<input type="submit" value="执行">
<input type="reset" value="取消">
CGI程序:
#!/usr/bin/perl
#文件名:guest.cgi
#声明:欢迎任意修改
$|=1;
print"Content-type:text\html\n\"; #设定输出格式为HTML
read(STDIN,$BUFFER,$ENV{'CONTENT_LENGTH'}; #读入标准输入字符串
#分割解码
@pairs=split(/&/,$buffer);
foreach $pair(@pairs){
($name,$value)=split(/=/,$pair);
$value=~tr/+/ /;
$value=~s/%(..)/pack(pack("C",hex($1))/eg;
$FORM{$name}=$value;
}
print"<title>留言</title>";
print"<h1>留言薄</h1>";
foreach $check(value%FORM){
if ($check eq " "){
print"有空白字段,请重新输入!";
exit; #退出
}
$FORM{'suggest'}=~s/\n/<br>/g; #将字符串中的换行符转换成<br>
$date='/usr/bin/date'; #取得系统时间
chop($date); #去掉还行符
$mail="/usr/bin/mail"; #mail 的路径
$yourmail="webmaster\@com2008.51.net"; #收信人地址 ,一定要有"\"
open(MAIL,"|$mail $yourmail")||die"Can't Open $filename";
#追加方式打开
print MAIL "您来自 ENV{'REMOTE_HOST'}<BR>";
print MAIL "留言时间 date<br>";
print MAIL "姓名 FORM{'name'}<br>";
print MAIL "您的EMAIL:<a href=mailto:$FORM{'email'}>$FORM{'email'}</a><br>\n";
print MAIL "您的留言已经收到,我会尽快处理.谢谢!";
close(MAIL); |
|