L'objectif principal de la méthode post en PHP est de "transmettre" les données. Elle place les données après tous les en-têtes de requête et les télécharge, en utilisant des instructions de code telles que "
Recommandé : "Tutoriel vidéo PHP"
$_POST Array
L'intention initiale de la méthode GET est de télécharger (correspondant à la méthode de téléchargement PUT), elle n'est donc pas spécifiquement utilisée pour transférer des données. Elle encodera en URL toutes les données de la requête et les suffira à la fin de la ressource demandée. De cette façon, lorsqu'il y a beaucoup de données, l'URL deviendra très longue - mais ce n'est pas le problème. Le problème est que certains navigateurs WEB ou programmes serveur limitent la longueur de cette ligne de chaîne. À ce stade, vous devez utiliser la méthode POST.
Comme son nom l'indique, l'objectif principal de la méthode POST est de « transmettre » les données. Elle place les données après tous les en-têtes de requête et les télécharge de cette manière, quelle que soit la quantité de données téléchargées. ne sera pas un problème (la taille des données de la demande dépend de la taille autorisée par le service WEB). De manière générale, s'il n'y a pas de besoin particulier de données de formulaire, la méthode POST est utilisée pour les télécharger, il n'est donc pas nécessaire de se soucier de la taille spécifique des données téléchargées.
Les données de requête de la méthode POST sont encapsulées dans le tableau $_POST et leur utilisation est la même que celle du tableau $_GET. Ajoutez un attribut de méthode au formulaire ci-dessus, et cela devient comme ceci :
<!– post.php文件 –> <?php if($_POST['post']) { foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”; } ?> <form action=”post.php” method=”post”> <label for=”id”>账号:</label><input type=”text” name=”id”> <label for=”password”>密码:</label><input type=”text” name=”password”> <input type=”submit” name=”post” value=”提交”> </form>
Un autre paramètre intéressant est que la méthode GET et la méthode POST ne sont pas incohérentes. La variable GET peut également être transmise dans la méthode POST. Le fichier post.php ci-dessus est légèrement modifié et il devient comme ceci :
<!– post.php文件 –> <?php if($_POST['post']) { foreach($_POST as $index = > $value) echo “$_POST[$index] = $value”, “<BR>”; foreach($_GET as $index = > $value) echo “$_GET[$index] = $value”, “<BR>”; } ?> <form action=”post.php?act=login” method=”post”> <label for=”id”>帐号:</label><input type=”text” name=”id”> <label for=”password”>密码:</label><input type=”text” name=”password”> <input type=”submit” name=”post” value=”提交”> </form>
Ce programme gère les données de requête de la méthode GET (paramètre act) et de la méthode POST (paramètres id et password) en même temps, et la requête de la méthode GET Le suffixe de la variable est après la valeur de l'attribut d'action du formulaire. Le seul problème avec cela est que la variable de requête de la méthode GET ne peut pas être saisie par l'utilisateur. Habituellement, les données fixes sont envoyées à l'aide de la méthode GET et les données saisies par l'utilisateur sont envoyées à l'aide de la méthode POST. Les deux méthodes distinguent les données avec des logiques différentes. Cependant, lors de la construction de ce formulaire, les lecteurs doivent faire attention à ne pas avoir le même nom de variable dans les deux méthodes, sinon des conséquences imprévisibles se produiront. Enfin, il convient de noter que lors de l'utilisation de la méthode GET pour envoyer des données, la chaîne de requête ne peut pas être incluse dans la valeur de l'attribut d'action de la balise