Maison  >  Article  >  développement back-end  >  Quelles sont les différences entre les méthodes de soumission de pages php ?

Quelles sont les différences entre les méthodes de soumission de pages php ?

青灯夜游
青灯夜游original
2023-01-07 15:47:113786parcourir

Il existe deux manières de soumettre les données d'une page PHP : get et post. Les différences sont : 1. Pour la soumission get, vous pouvez voir les paramètres sur l'adresse URL, mais pour la soumission post, vous ne pouvez pas voir les paramètres dans la barre d'adresse. ; 2. Get n'est pas sécurisé et la publication est sécurisée ; 3. La soumission Get consiste à soumettre les paramètres un par un, et la post-soumission consiste à soumettre tous les paramètres ensemble dans leur ensemble 4. La soumission Get ne dépasse généralement pas 255 octets ; la taille de la soumission de la publication dépend du serveur ; 5. Get est très flexible, tant qu'il y a des paramètres qui peuvent être transmis lorsque la page saute, mais la publication n'est pas flexible.

Quelles sont les différences entre les méthodes de soumission de pages php ?

L'environnement d'exploitation de ce tutoriel : système Windows7, version PHP8, ordinateur DELL G3

Dans la page php, il existe deux façons de soumettre des données : la méthode get et la méthode post.

<form method="post" action=""></form>
<form method="get" action=""></form>

La différence entre la méthode get et la méthode post

1 Apparence

Vous pouvez voir les paramètres dans l'adresse lors de la soumission de la méthode get

Quelles sont les différences entre les méthodes de soumission de pages php ?

Vous ne pouvez pas voir le paramètres dans la barre d'adresse lors de la soumission du message

Quelles sont les différences entre les méthodes de soumission de pages php ?

2. Sécurité

get n'est pas sécurisé, le post est sécurisé

Les données soumises par get peuvent être vues dans la barre d'URL, mais les données soumises par post est invisible, donc la publication est plus sécurisée.

3. Le principe de la soumission

obtenir la soumission consiste à soumettre les paramètres un par un

post-soumission consiste à soumettre tous les paramètres ensemble dans leur ensemble

4 La taille des données de soumission

obtenir la soumission ne dépasse généralement pas 255. octets

La taille de la soumission de la publication dépend du serveur

// 在php.ini中,可以配置post提交的大小
post_max_size = 8M

5 Flexibilité

get est très flexible, tant qu'il y a un saut de page, vous pouvez transmettre des paramètres

la publication n'est pas flexible, la soumission de la publication nécessite. la participation d'un formulaire

1、 html跳转
   <a>跳转</a>

2、JS跳转
<script>
	location.href='index.php?name=tom&age=20';
	location.assign('index.php?name=tom&age=20');
	location.replace('index.php?name=tom&age=20');
</script>

3、PHP跳转
header('location:index.php?name=tom&age=22')

Résumé :


GET POST
Apparence Vous pouvez voir les paramètres et les valeurs transmises dans l'adresse Aucune donnée peut être vu dans la barre d'adresse
Taille des données de soumission Soumettez une petite quantité de données, la valeur maximale est différente selon les navigateurs, IE est de 255 caractères Soumettez une grande quantité de données, vous pouvez définir le maximum valeur des données de soumission de publication en modifiant le fichier de configuration php.ini
Sécurité Faible Élevée
Principe de soumission Les données soumises et les données sont indépendantes Convertir les données soumises au format XML pour soumission
Flexibilité Très flexible, tant qu'il y a des pages. Jumping peut obtenir et transmettre des données pas flexible

服务器数据的三种方式

$_POST:数组类型,保存的POST提交的值
$_GET:数组类型,保存的GET提交的值
$_REQUEST:数组类型,保存的GET和POST提交的值

根据提交表单数据的方式不同,获取表单数据的方法也有所不同: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 的地址栏

Quelles sont les différences entre les méthodes de soumission de pages php ?

Quelles sont les différences entre les méthodes de soumission de pages php ?

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

<?php
var_dump($_GET);
?>

Quelles sont les différences entre les méthodes de soumission de pages php ?

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

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

Quelles sont les différences entre les méthodes de soumission de pages php ?

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

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

$_POST 全局变量也是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。

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

Quelles sont les différences entre les méthodes de soumission de pages php ?

3、使用预定义变量$_REQUEST快速获取表单数据

$_REQUEST 全局变量是一个包含了  $_POST、$_GET 和 $_COOKIE 的数组,数组结构与 $_POST 和 $_GET 类似。

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

Quelles sont les différences entre les méthodes de soumission de pages php ?

小结: 

 1、在开发的时候,如果明确是post提交就使用$_POST获取,如果明确get提交就用$_GET获取 

 2、request获取效率低,尽可能不要使用,除非提交的类型不确定的情况下才使用。

推荐学习:《PHP视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn