Heim > Artikel > Backend-Entwicklung > Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?
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 获取。)
<?php var_dump($_GET); ?>
可以使用$_GET['键名']
的方式来一一获取每个表单元素的值:
<?php header("content-type:text/html;charset=utf-8"); echo "用户名为:".$_GET[&#39;user&#39;]."<br>生日为:".$_GET[&#39;bday&#39;]; ?>
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[&#39;user&#39;]."<br>生日为:".$_POST[&#39;bday&#39;]; ?>
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[&#39;user&#39;]."<br>生日为:".$_REQUEST[&#39;bday&#39;]; ?>
推荐学习:《PHP视频教程》
Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Formulare in PHP einzureichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!