如同 ASP 一样, PHP3.0 也可以很方便地处理 HTML 表单和变量,从表单发送过来的每个值,都会自动地根据表单的名字属性( name )赋予相应的变量值,可以直接在 PHP3 脚本中引用这些变量。这个功能在 Web 应用中使用的十分广泛,客户端的数据采集基本上都是用这种方法来实现的。下面,我们构建一个小小的自动邮件发送程序,来演示 PHP3.0 的这个功能。
下面有一个 HTML 表单的例子:
< HTML>
< HEAD>
< TITLE> 调查页面 < /TITLE>
< BODY>
< CENTER> 您想知道更多的关于我们公司的信息吗? < P>
< TABLE WIDTH = 400>< TR>< TD align = right>
< FORM ACTION=\"email.php3\" METHOD=\"POST\">
您的姓名: < BR>
< INPUT TYPE=\"text\" NAME=\"name\" SIZE=\"20\" MAXLENGTH=\"30\">
< P>
您的邮件地址: < BR>
< INPUT TYPE=\"text\" NAME=\"email\" SIZE=\"20\" MAXLENGTH=\"30\">
< P>
橘子和苹果那个您更喜欢一些?
< SELECT NAME=\"preference\">
< OPTION value = Apples> 苹果 < OPTION value = Oranges> 橘子
< /SELECT>
< P>
< INPUT TYPE=\"submit\" VALUE=\" 发送 \">
< /FORM>
< /TD>< /TR>< /TABLE>< /CENTER>
< /BODY>
< /HTML>
将这个 HTML 文件存为“ moreinfo.html ”。
你应该注意到了 FORM 的 ACTION 属性被指向 email.php3 。这个文件将包含执行服务器端命令的脚本:
email.php3 文件:
< ?
/* 这个脚本将用来处理从 moreinfo.html 文件发送过来的信息 */
PRINT \"< CENTER>\";
PRINT \" 您好 , $name.\";
PRINT \"< BR>< BR>\";
PRINT \" 谢谢您的参与 < BR>< BR>\";
PRINT \" 我们将向 $email 发出验证信息 \";
PRINT \"< /CENTER>\";
?>
当用户在 HTML 表单中填入了姓名和 eMail 地址,并且按下了“发送”按钮,这个表单将会调用 email.php3 文件,然后这个 PHP3 脚本将会返回那些输入的信息(假设这个用户的姓名是王鹏, eMail 地址是 wp@263.net ,并且喜欢苹果):
您好,王鹏 .
谢谢您的参与
我们将向 wp@263.net 发出验证信息
但是,到现在我们的计划还没有完成,应为我们没有记录下任何的用户信息,也就不知道要如何发送这封 email 了。
解决的一个方法,是使用 PHP3.0 的 mail() 函数。
语法 : void mail(string to, string subject, string message, string add_headers);
下面解释一下这几个参数的含义:
* to - 指明邮件接受者的油箱地址。
* subject - 邮件的 subject 标题栏的内容。
* message - 邮件的 body ,也就是要发送的内容。
* add_headers - 这个参数是可选的,用它来在邮件头尾部插入一个字符串。
这样,如果把下面的这段脚本加到刚才的脚本中,插在最后一个 PRINT 语句的后面,我们就能够在显示后自动的发送邮件了:
mail(\"$email\", \"Your request for information\", \"$namen
Thank you for your interest!n
We sell fresh corn daily over the Internet!
Place your order at http://www.buy.com,
and receive a free package of $preference!\");
mail(\"administration@buy.com \",
\"Visitor request for info.\",
\"$name requested for information.n
The email address is $email. n
The visitor prefers $preference.\");
?>
特别要注意的是: mail() 函数只有在 SENDMAIL 也安装在服务器上的时候它才会工作。在大多数情况下, SENDMAIL 是同 PHP3.0 一起安装的。但如果 mail() 函数不能工作,就应该检查一下是否安装了 SENDMAIL 。
但是如果有很多人都发送了他们的表单,仅仅用上面的方法,是无法把这些信息一一保存的。或许,你想统计到底有多少人喜欢吃苹果,多少人喜欢吃橘子。对于这类的任务,就有可能要用到数据库来存贮这些数据了。 MySQL 可以说是现在最快的数据库服务器之一,当你的应用对速度比较敏感的时候, MySQL 是一个比较好的选择,而且,它与 PHP3.0 的兼容性也比较好。
站长排行
学院
新闻
专栏
盈利
如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 13256307008