php获得表单提交的方法:1、利用预定义变量“$_get”,可以获取get数据;2、利用预定义变量“$_post”,可以获取post数据;3、利用预定义变量“$_request”,get或post数据都可以获取。
本教程操作环境:windows7系统、php7.1版,dell g3电脑
php获得表单提交数据的方法有三种:
get方式可以使用预定义变量$_get来获取;
post方式可以使用预定义变量$_post来获取;
如果不知道 form 表单通过哪种方式提交数据,就可以使用预定义变量$_request来获取,它两种方式的数据都可以获取。
1、使用预定义变量$_get快速获取表单数据(form表单需要设置为method=get)
在程序的开发过程中,由于 get 方法提交的数据是附加到 url 上发送的,因此在 url 的地址栏中将会显示“url+用户传递的参数”类型的信息,如下所示:
http://url?name1=value1&name2=value2 ...
name1、name2 为表单元素的名称(有表单元素的name属性设置),value1、value2 为表单元素的值。url和表单元素之间用“?”隔开,而多个表单元素之间用“&”隔开,每个表单元素的格式都是“name=value”,固定不变。
我们添加一下user.html文件的表单看看url 的地址栏
user.php文件中可以直接使用预定义变量$_get来获取数据,$_get 全局变量是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。(注只要是 url 中的参数都可以使用 $_get 获取。)
<?phpvar_dump($_get);?>
可以使用$_get['键名']的方式来一一获取每个表单元素的值:
<?phpheader("content-type:text/html;charset=utf-8");echo "用户名为:".$_get['user']."<br>生日为:".$_get['bday'];?>
2、使用预定义变量$_post快速获取表单数据(form表单需要设置为method="post")
post方法不依赖于 url,不会将传递的参数值显示在地址栏中。
另外 post 方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器端是看不到这一过程的,安全性相对较高。所以,post 方法比较适合用于发送一些重要的(如信用卡号)信息或者比较大量的数据到服务器。
提示:默认情况下 post 方法的发送信息最大值为 8mb,后期可以通过修改 php.ini 配置文件中 post_max_size 的值进行更改。
$_post 全局变量也是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。在实际程序开发过程中,当 form 表单的 method 属性指定使用 post 方式进行数据传递时,我们就应该使用 $_post 来获取比表单的数据。
$_post 全局变量的使用与普通数组是一样,可以直接以$_post['键值']的形式访问其中的数据,下面通过一个简单的示例来演示一下。
<?phpheader("content-type:text/html;charset=utf-8");echo "用户名为:".$_post['user']."<br>生日为:".$_post['bday'];?>
3、使用预定义变量$_request快速获取表单数据
在实际开发过程中,我们不知道 form 表单通过哪种方式提交数据时,该怎么办呢?php 中提供了一个 $_request 全局变量,它是一个包含了 $_post、$_get 和 $_cookie 的数组,数组结构与 $_post 和 $_get 类似。
也就是说不管是使用 post 还是使用 get 方式提交的数据,都可以使用 $_request 来获取,甚至可以使用 $_request 来获取 cookie 的信息。在 php5.3 中引入 request_order 属性,我们可以通过在 php.ini 配置文件中修改 request_order 属性的值,来控制 $_request 中包含的内容。
request_order 属性的值可以是 g、p 和 c 这三个大写的英文字母,它们分别代表 get、post 和 cookie。默认情况下 request_order 属性的默认值为request_order="gp",并不包含 c,也就是说 $_request 中并不包含 cookie 的信息,如果我们希望 $_request 中包含 cookie 的话,需要将其修改为request_order="gpc"。
示例:
<?phpheader("content-type:text/html;charset=utf-8");var_dump($_request);echo "用户名为:".$_request['user']."<br>生日为:".$_request['bday'];?>
推荐学习:《php视频教程》
以上就是php获得表单提交的方法有哪些的详细内容。