1.8.2 使用PHP处理HTML表单
本小节介绍如何使用PHP处理HTML表单数据,笔者将编写一个PHP程序,试着用它处理HTML文档提交的数据。假如有如图1-46所示的一个表单,其代码如代码1-35所示。
代码1-35 含有表单的HTML文档1-35.html
01 <html>
02 <head><title>HTML表单</title></head>
03 <body>
04
05 <form action="1-36.php"method="post">
06 <p>名字:<input type="text"name="user_name"/></p>
07 <p>来自:<input type="text"name="hometown"/></p>
08 <p><input type="submit"value="提交"/></p>
09 </form>
10
11 </body>
12 </html>
【代码解析】第5行的action属性将本页代码提交到1-36.php来完成处理。第6~7行是两个文本框,第8行是提交按钮。
接下来,编写一个PHP程序,此程序将打印出由这个表单提交来的数据,如代码1-36所示。
代码1-36 使用PHP处理表单数据1-36.php
01 大家好,我是<?php echo$_POST['user_name'];?>!
02 <?php echo"<br/>"?>
03 <?php echo"<br/>"?>
04 我来自<?php echo$_POST['hometown'];?>。
假如在上面的表单里,“名字”填写“木兰”,“来自”填写“中国”,如图1-47所示,单击“提交”按钮后,1-36.php将被调用,最后将看到如图1-48所示的效果。
说明 不要直接从“文件资源管理器”中打开源代码来运行,这样没有http://localhost前缀,就无法正确将HTML文档提交到PHP文档。
【代码解析】代码1-36所示的PHP程序并不复杂,其中使用了PHP的自动全局变量$_POST,它包含了所有POST数据。所有用POST方法提交的表单数据,都将保存在这个全局变量中。代码第1行通过“$POST['user_name']”取得用户提交的名字,这里的'user_name'正是代码1-35中第6行的表单输入框name属性的值,最后代码第4行通过echo语句将用户的名字打印出来。