首页 >后端开发 >PHP问题 > 正文

php获得表单提交的方法有哪些

原创2021-09-13 18:17:450224

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 的地址栏

1.gif

2.png

user.php文件中可以直接使用预定义变量$_GET来获取数据,$_GET 全局变量是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。(注只要是 URL 中的参数都可以使用 $_GET 获取。)

<?php
var_dump($_GET);
?>

3.png

可以使用$_GET['键名']的方式来一一获取每个表单元素的值:

<?php
header("content-type:text/html;charset=utf-8");
echo "用户名为:".$_GET['user']."<br>生日为:".$_GET['bday'];
?>

4.png

2、使用预定义变量$_POST快速获取表单数据(form表单需要设置为method="post"

post方法不依赖于 URL,不会将传递的参数值显示在地址栏中。

另外 POST 方法可以没有限制地传递数据到服务器,所有提交的信息在后台传输,用户在浏览器端是看不到这一过程的,安全性相对较高。所以,POST 方法比较适合用于发送一些重要的(如信用卡号)信息或者比较大量的数据到服务器。

提示:默认情况下 POST 方法的发送信息最大值为 8MB,后期可以通过修改 php.ini 配置文件中 post_max_size 的值进行更改。

$_POST 全局变量也是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。在实际程序开发过程中,当 form 表单的 method 属性指定使用 POST 方式进行数据传递时,我们就应该使用 $_POST 来获取比表单的数据。

$_POST 全局变量的使用与普通数组是一样,可以直接以$_POST['键值']的形式访问其中的数据,下面通过一个简单的示例来演示一下。

<?php
header("content-type:text/html;charset=utf-8");
echo "用户名为:".$_POST['user']."<br>生日为:".$_POST['bday'];
?>

5.png

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"。

示例:

<?php
header("content-type:text/html;charset=utf-8");
var_dump($_REQUEST);
echo "用户名为:".$_REQUEST['user']."<br>生日为:".$_REQUEST['bday'];
?>

6.png

推荐学习:《PHP视频教程

以上就是php获得表单提交的方法有哪些的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:php 表单提交
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • phpGrace框架-轻快的实力派phpGrace框架-轻快的实力派
  • PHP Web开发的成长之路PHP Web开发的成长之路
  • PHP开发APP接口项目实战PHP开发APP接口项目实战
  • 视频教程分类