PHP3 入门教程 HTML 表单和变量
如同 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 的兼容性也比较好。