网站首页站长博客下载中心域名交易站长论坛域名主机免费电邮免费域名中文排行排名查询站长书库书籍教程下载
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
学院首页 网络编程 网页设计 图形图象 数 据 库 服 务 器 网络媒体 网络安全 个人专栏 站长CLUB 业界新闻 信息公告
 当前位置:首页 >> 网络编程 >> CGI专区 >> 正文
公告通知
返回上级列表
资料搜索
相关文章
Delphi开发单机瘦数据库程序要点
Delphi Shell
 在DELPHI中更简单的存取JPEG文件
delphi一句话帮助
Delphi中两个BUG的分析与修复 
Delphi的组件读写机制 
delphi8里在VCL.net使用Ado.net 
 创建快捷方式到 [启动]
 创建快捷方式到 [启动]
用Delphi2005和DUnit搭建敏捷开发
Cgi入门教程之:10 email子过程
[ 来源:转载 | 作者:无从考证 | 时间:2005-11-17 11:55:48 | 浏览:人次 ]
收藏到新浪ViVi 收藏到365KEY 收藏到我摘  字号选择〖    〗/ 双击滚屏 单击停止  
email子过程 
#*****************BEGIN BODY************* 
print "<h1>Thank you for filling out the form</h1>"; 
$firstname = $value[0]; 
$lastname = $value[1]; 
$email = $value[2]; 

print "Your first name is $firstname<BR>"; 
print "Your last name is $lastname<BR>"; 
print "Your e-mail is $email<BR>"; 
$to = $email; 
$from = "clinton\@whouse.gov"; 
$sub = "subject of my first e-mail"; 
$body = "The form was filled out by $firstname $lastname 
Thank you goes on another line."; 
&email($to,$from,$sub,$body); 

#***************END BODY****************** 
--------------------------------------------------------------------------------
在上面的例子中,我在程序的BODY后面增加了7行。你需要拷贝这些行到test2.cgi的BODY中。有两种方式:

在PC上的文本编辑器中进行拷贝和粘贴,然后用FTP重新上传,这时不必重新运行chmod。 
可以在Unix提示符下运行Emacs或Pico,对文件进行修改,然后保存和退出。 
这时你可以再试试form。要在testform.htm页面中输入你自己的邮件地址。当你提交这个form时,显示结果与以前一样。但如果你在几秒种后查看你的e-mail,你会看到一封来自President Clinton的消息。
让我们看看这些行:
$to = $email; 
- 拷贝变量$email中的内容到变量$to中。
$from = "clinton\@whouse.gov"; 
- 设置变量$form为clinton@whouse.gov。反斜线(\)称为escape character。@符号在Perl中有特殊意义,表示一个数组,这时,如果我们不想引用数组,而只用@符号本身,需要在前面加一个"\"。
例如,如果我敲入下面这行:
$amount = "He owes me $20.00"; 
将得到一个错误,因为Perl将试图访问一个称为$20.00的变量。我们可以这样写:
$amount = "He owes me \$20.00"; 
$sub = "subject of my first e-mail"; 
这行很直接。
$body = "The form was filled out by $firstname $lastname Thank you goes on another line."; 
这只是一个命令 - Perl命令总以分号结束。返回的字符是赋给$body的字符串中的另一个字符。这很方便,因为可以敲入引号,然后象在字处理器中一样敲入多行文本,然后用引号结束。最后,象其它语句一样敲入引号。
也可以象这样而得到相同的结果:
$body = "The form was filled out by $firstname $lastname \n Thank you goes on another line."; 
\n为换行符 - 当双引号中包含\n时,把它翻译成回车符。这对email也起作用 - 它是用Ascii,而不是HTML写的。注意HTML不在意源代码是在一行还是在多行。如果想在HTML中加入一行,需要插入一个<BR>或<P>标记符。
&email($to,$from,$sub,$body); 
email子过程在下面的readparse子过程中定义。它被配置成很好用,只需简单地敲入
&email( addressee , reply-to, subject, message body) 
例子中也可以这样传递参数:
&email($email,"clinton\@whouse.gov","subject of my first e-mail","This is line 1 \nThis is line 2"); 
但是我认为分别赋值对于程序的编辑和阅读更容易。>>

[发送给好友]  [打印本页]  [关闭窗口]  [返回顶部]   转载请注明来源:http://edu.chinaz.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
栏目编辑: 设计风 责任编辑: 简若宁
原始作者: 无从考证 录入时间: 2005-11-17 11:55:48
信息来源: 转载 投稿信箱: Edu#chinaz.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 总编信箱 - 会员投稿