-
PHP的高级应用(2)——表单
普通类 -
- 支持
- 批判
- 提问
- 解释
- 补充
- 删除
-
-
默认段落标题(请修改)...
第三部分:PHP的高级应用
表单是HTML中的一个非常重要的组件,从界面上看,表单构成了页面内的各种按钮、输入框等等UI部件,从数据传输的角度看,表单是我们进行页面间数据传输的重要手段。例如下面的例子,我们可以看见其输出页面:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
上面的 HTML 页面实例包含了两个输入框和一个提交按钮。当用户填写该表单并单击提交按钮时,表单的数据会被送往 "welcome.php" 这个文件。而welcome.php页面则会应用相应的语句获得前一个页面内表单传递过来的数据。
"welcome.php" 文件类似这样:
<html>
<body>
Welcome <?php echo \$_POST["name"]; ?>.<br />
You are <?php echo \$_POST["age"]; ?> years old.
</body>
</html>
上面这个脚本的输出样本类似这样:
Welcome John.
You are 28 years old.
表单在发送数据之前我们一般会验证表单内的数据是否符合一定的规范,并且客户端的验证速度更快,并且可以减轻服务器的负载。不过,任何流量很高以至于不得不担心服务器资源的站点,也有必要担心站点的安全性。如果表单访问的是数据库,就非常有必要采用服务器端的验证。在服务器验证表单的一种好的方式是,把表单传给它自己,而不是跳转到不同的页面。这样用户就可以在同一张表单页面得到错误信息。用户也就更容易发现错误了。
\$_GET 变量用于收集来自 method="get" 的表单中的值。\$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。\$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
例子
<form action="welcome.php" method="get">
Name: <input type="text" name="name" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
当用户点击提交按钮时,发送的 URL 会类似这样:
http://localhost/welcome.php?name=Peter&age=37
"welcome.php" 文件现在可以通过 \$_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 \$_GET 数组中的 ID 键):
Welcome <?php echo \$_GET["name"]; ?>.<br />
You are <?php echo \$_GET["age"]; ?> years old!
注释:在使用 \$_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。
\$_REQUEST 变量: \$_REQUEST 变量包含了 \$_GET, \$_POST 以及 \$_COOKIE 的内容。PHP 的 \$_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
Welcome <?php echo \$_REQUEST["name"]; ?>.<br />
You are <?php echo \$_REQUEST["age"]; ?> years old!
\$_POST 变量用于收集来自 method="post" 的表单中的值。\$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。\$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
例子
<form action="welcome.php" method="post">
Enter your name: <input type="text" name="name" />
Enter your age: <input type="text" name="age" />
<input type="submit" />
</form>
当用户点击提交按钮,URL 不会含有任何表单数据,看上去类似这样:
http://localhost/welcome.php
"welcome.php" 文件现在可以通过 \$_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 \$_POST 数组中的 ID 键):
Welcome <?php echo \$_POST["name"]; ?>.<br />
You are <?php echo \$_POST["age"]; ?> years old!
为什么使用 \$_POST?
通过 HTTP POST 发送的变量不会显示在 URL 中。
变量没有长度限制。
不过,由于变量不显示在 URL 中,所以无法把页面加入书签。
\$_REQUEST 变量
PHP 的 \$_REQUEST 变量包含了 \$_GET, \$_POST 以及 \$_COOKIE 的内容。
PHP 的 \$_REQUEST 变量可用来取得通过 GET 和 POST 方法发送的表单数据的结果。
例子
Welcome <?php echo \$_REQUEST["name"]; ?>.<br />
You are <?php echo \$_REQUEST["age"]; ?> years old!
-
-
- 标签:
- input
- 数据
- post
- php
- 发送
- 高级
- type
- 表单
- 变量
- 页面
- age
- 应用
-
学习元评论 (0条)
聪明如你,不妨在这 发表你的看法与心得 ~