Heim >Backend-Entwicklung >PHP-Problem >Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

青灯夜游
青灯夜游Original
2021-09-13 18:17:455566Durchsuche

php获得表单提交的方法:1、利用预定义变量“$_GET”,可以获取get数据;2、利用预定义变量“$_POST”,可以获取post数据;3、利用预定义变量“$_REQUEST”,get或post数据都可以获取。

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

本教程操作环境: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 的地址栏

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

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

<?php
var_dump($_GET);
?>

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

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

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

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

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'];
?>

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

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'];
?>

Welche Möglichkeiten gibt es, Formulare in PHP einzureichen?

推荐学习:《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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn