表单是网络平台允许用户与页面互动并向服务器发送数据的方式。
这里是一个简单的HTML表单:
<form>
<input type="text" name="name" />
<input type="submit" />
</form>
你可以把这个放在你的index.php 文件中,就像它被称为index.html 。
一个PHP文件假设你用<?php ?> ,在里面写上HTML,再加上一些 "PHP撒子",这样Web服务器就可以把它发布到客户端。有时候,PHP部分占据了整个页面,这时你就会通过PHP生成所有的HTML--这与我们现在做的方法有点相反。
所以我们有这个index.php 文件,用纯HTML生成这个表单。

按下提交按钮将向同一个URL发出一个GET请求,通过查询字符串发送数据,注意URL变成了localhost:8888/?name=test

我们可以添加一些代码来检查该参数是否被设置,使用 isset()函数
<form>
<input type="text" name="name" />
<input type="submit" />
</form>
<?php
if (isset($_GET['name'])) {
echo '<p>The name is ' . $_GET['name'];
}
?>

看到了吗?我们可以通过$_GET ,从GET请求的查询字符串中获取信息。
然而,你通常对表单所做的是,你执行一个POST请求:
<form **method="POST"**>
<input type="text" name="name" />
<input type="submit" />
</form>
<?php
if (isset($_POST['name'])) {
echo '<p>The name is ' . $_POST['name'];
}
?>
看,现在我们得到了同样的信息,但URL没有改变,表单信息没有被附加到URL上:

这是因为我们使用的是POST请求,它以不同的方式将数据发送到服务器,通过urlencoded数据。
如前所述,PHP仍然会提供index.php 文件,因为我们仍然在向表单所在的同一URL发送数据。
我们混合了一堆代码,我们可以把表单请求处理程序和生成表单的代码分开。
所以我们可以在index.php 这个。
<form **method="POST" action="/post.php"**>
<input type="text" name="name" />
<input type="submit" />
</form>
并且我们可以创建一个新的post.php 文件,其中包括。
<?php
if (isset($_POST['name'])) {
echo '<p>The name is ' . $_POST['name'];
}
?>
在我们提交表单后,PHP现在就会显示这个内容,因为我们在表单上设置了action HTML属性。
这个例子非常简单,但是post.php 文件是我们可以例如将数据保存到数据库,或者保存到文件中的地方。