PHP get和post方法获取form表单数据
在 PHP 中使用 get 和 post 两种方法接收来自 form 表单的值,在 form 表单中可以定义 PHP 的接收方式和接收地址。
get 和 post 方法主要有以下几点区别。
建议在传输的数据包含机密信息时用 post 数据提交方式,在做数据查询时用 get 方式,在做数据添加、修改或删除时用 post 方式。
如果 form 中选择使用get方式上传数据,那么将本例中的 post 改为 get 即可。
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"
}
如果 form 中选择使用get方式上传数据,那么将本例中的 post 改为 get 即可。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算