加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP get和post方法获取form表单数据

发布时间:2020-12-13 17:59:56 所属栏目:PHP教程 来源:网络整理
导读:在 PHP 中使用 get 和 post 两种方法接收来自 form 表单的值,在 form 表单中可以定义 PHP 的接收方式和接收地址。 get 和 post 方法主要有以下几点区别。 get 是把参数数据队列添加到提交表单的 action 属性所指的 URL 中,值和表单内各个字段一一对应,在 U
在 PHP 中使用 get 和 post 两种方法接收来自 form 表单的值,在 form 表单中可以定义 PHP 的接收方式和接收地址。

get 和 post 方法主要有以下几点区别。
  • get 是把参数数据队列添加到提交表单的 action 属性所指的 URL 中,值和表单内各个字段一一对应,在 URL 中可以看到。post 是通过 HTTP post 机制将表单内各个字段与其内容放置在 HTML HEADER 内一起传送到 action 属性所指的 URL 地址,用户看不到这个过程。
  • get 传送的数据量较小,不能大于 2KB,这主要是因为受 URL 长度限制。post 传送的数据量较大,一般默认为不受限制。
  • get 安全性非常低,post 安全性较高,但是 get 执行效率却比 post 方法好。
  • get 是 form 的默认方法。

建议在传输的数据包含机密信息时用 post 数据提交方式,在做数据查询时用 get 方式,在做数据添加、修改或删除时用 post 方式。

PHP 获取 form 表单的值

在 form 表单中,action 属性定义提交表单的地址,method 属性定义提交的方法,例如:
<form action="user.php" method="post">
    Username: <input type="text" name="user">
    Password: <input type="password" name="pwd">
    Birthday: <input type="date" name="bday">
    <input type="radio" name="sex" value="male">Male
    <input type="radio" name="sex" value="female">Female
    <!-- checkbox的name须使用数组形式命名,否则PHP只能接收到最后一个被选的值 -->
    <input type="checkbox" name="vehicle[]" value="Bike">bike
    <input type="checkbox" name="vehicle[]" value="Car">car
    <select name="car">
        <option value="volvo" >Volvo</option>
        <option value="saab" >Saab</option>
        <option value="mercedes" >Mercedes</option>
        <option value="audi" >Audi</option>
    </select>
    <input type="submit" value="Submit">
</form>
代码中定义接收表单值的地址是 user.php,接收方式是 post,所以我们编写代码查看在 user.php 中都接收到了哪些数据。user.php 中的代码如下:
<?php
var_dump($_POST);
?>
这里用 $_POST 全局变量接收来自表单提交的所有数据并打印出来,提交表单获得的结果示例如下:

array(6)
{
??? ["user"]=> string(5) "admin"
??? ["pwd"]=> string(5) "admin"
??? ["bday"]=> string(10) "2019-10-06"
??? ["sex"]=> string(4) "male"
??? ["vehicle"]=> array(2)
??? {
??????? [0]=> string(4) "Bike"
??????? [1]=> string(3) "Car"
??? }
??? ["car"]=> string(5) "volvo"
}

注意,接收到的复选框 vehicle 是一个数组。另外,$_POST 接收的值是一个以表单元素的 name 为键,以用户选择或输入的值为对应值的数组。

如果 form 中选择使用get方式上传数据,那么将本例中的 post 改为 get 即可。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读