.

PHP 表单12

文章作者:eKing
发表时间:2016年11月15日 16:12
浏览次数:875

PHP 表单

PHP 预定义了 $_POST 和 $_GET 变量来接收表单信息。

HTML 表单

表单例子,form.html:

<html>

<body>

<form name="commentform" method="post" action="comment.php">

<p>

称呼: <input type="text" name="nickname" />

</p>

<input type="submit" value="提 交" />

</form>

</body>

</html>

上面的例子中,表单信息包含了一个(称呼)输入框和 提交 按钮。当点击 提交 按钮时,网页就会把表单信息(用户输入的称呼)以 POST 方式提交给 comment.php 文件处理。

comment.php 文件:

<html>

<body>

<p>您的称呼是:<?php echo $_POST["nickname"]; ?></p>

</body>

</html>

当我们在 form.html 输入框里输出称呼:小明,点击 提交 按钮,comment.php 页面显示:

您的称呼是:小明

上面就是一个简单的表单处理过程,PHP 预定义了 $_POST 和 $_GET 变量来接收表单信息,请参看《PHP $_POST》与《PHP $_GET》

HTML 表单验证

表单用于收集客户的输入信息时,不要想当然的以为客户会按照设想中的输入符合规定的内容。任何时刻都要对客户的输入做严格检查。

客户端验证

客户端表单验证一般是基于 Javascript 脚本的验证方式,这种验证方式能有效减少服务器的负担,也能即时提醒客户输入的错误之处。客户端 Javascript 表单验证例子可参看 PHP实践教程 之《PHP 用户注册》验证内容。

服务器端验证

在某些情况下,除了进行客户端的验证外,可能还需要进行服务器端的验证(如访问数据库)。这时候需要在 PHP 程序里做好逻辑上的验证。关于服务器端验证,亦可参考:《PHP 用户注册》验证内容。

PHP $_POST

$_POST 变量用于接收表单 method="post" 方式发送的表单信息。

PHP $_POST

$_POST 变量用于获取由 HTTP POST 方式发送的表单数据。其数据结构是一个关联数组,键名为表单元素的 name ,值为对应的表单取值。

表单 form.html:

<html>

<body>

<form name="commentform" method="post" action="comment.php">

<p>

称呼: <input type="text" name="nickname" />

</p>

<input type="submit" value="提 交" />

</form>

</body>

</html>

在 comment.php 中,打印出 $_POST 信息:

<?php

print_r($_POST);

?>

输出如下:

Array

(

=> 小明

)

访问 $_POST 变量

可以像访问普通数组一样方便的访问 $_POST 变量:

<?php

echo '您的称呼是:',$_POST["nickname"];

?>

POST 方法发送的数据对任何人都是不可视的,且对发送信息的量几乎无限制,对于敏感数据(如密码)或者大容量的数据信息提交,通常采用的是 POST 方式。

PHP $_GET

$_GET 变量用于接收表单 method="get" 方式发送的表单信息。

PHP $_GET

$_GET 变量的数据结构同 $_POST 类似,也是一个关联数组,键名为表单元素的 name,用于收集以 HTTP GET 方式请求的数据。

表单 form.html:

<html>

<body>

<form name="commentform" method="get" action="comment.php">

<p>

称呼: <input type="text" name="nickname" />

</p>

<input type="submit" value="提 交" />

</form>

</body>

</html>

将前面的例子表单改为 GET 方式,输入称呼后,在浏览器地址栏,看起来类似如下(IE 浏览器下中文可能会经 encode 编码):

http://www.5idev.com/html/comment.php?nickname=%D0%A1%C3%F7

取得 GET 表单数据:

<?php

echo '您的称呼是:',$_GET["nickname"]; //输出:您的称呼是:小明

?>

提示

GET 方式会把表单数据暴露在浏览器地址栏里,因此不宜发送敏感数据(如密码等),敏感信息发送请使用 POST 方式。

GET 方式对发送的信息量有一定限制,如果发送较大的信息,请使用POST 方式。

GET 方式访问的页面可以加入收藏夹而在以后可以直接访问,而 POST 方式访问的页面则不能。

HTTP GET

HTTP GET 方式不仅是用于表单数据发送,它是指更广泛的以实体的方式得到由请求 URL (浏览器地址)所指定资源的信息。具体参见《XHTML Get与Post》。

利用 HTTP GET 方式还可以向网页传递数据信息,如下面这个地址:

http://www.5idev.com/html/article.php?id=10

在该例子中,就通过地址 GET 方式向 article.php 传递了一个 id=10 的信息。在 article.php 中可以通过 $_GET["id"] 取得数据,其实际作用可能是从数据库中读取 id 为 10 的这篇文章,多个数据以 & 符号来连接:

http://www.5idev.com/html/article.php?type=2&id=10

article.php 中取得 GET 数据:

<?php

echo $_GET["type"]; //输出 2

echo $_GET["id "]; //输出 10

?>

PHP $_REQUEST

在 PHP 中还预定义了 $_REQUEST 变量,它包含了 $_POST 、$_GET 、和 $_COOKIE 。其访问方式同 $_POST 等:

<?php

echo $_REQUEST["nickname"] //输出用户输入的称呼

echo $_REQUEST["id "]; //输出 10

?>

上一篇:PHP 时间日期11
下一篇:PHP 文件处理13