Lors du développement d'un site Web ou d'une application Web, nous devons souvent ajouter des formulaires à la page Web que les utilisateurs doivent remplir. Les données de ce formulaire doivent généralement être soumises au serveur dans un format exploitable pour un traitement ultérieur. En PHP, nous pouvons utiliser différentes manières de gérer la soumission de formulaire. Cet article explique comment définir la méthode de soumission de formulaire.
La méthode GET est une méthode de requête dans le protocole HTTP, qui ajoute les données du formulaire à la fin de l'URL afin d'envoyer les données au serveur. Lors de la soumission d'un formulaire à l'aide de GET, les données du formulaire apparaîtront dans l'URL, elles ne conviennent donc pas à la soumission de données sensibles telles que des mots de passe. Par rapport à la méthode POST, la quantité de données soumises par la méthode GET est également plus limitée.
Pour définir la méthode de soumission du formulaire sur GET, nous devons ajouter un attribut method="get"
à la balise form, comme indiqué ci-dessous : method="get"
的属性,如下所示:
<form action="process.php" method="get"> <!-- 表单元素 --> <input type="text" name="username"> <input type="password" name="password"> <input type="submit" value="提交"> </form>
在上述代码中,action
属性指定了表单提交的目标 URL,method
属性指定了表单的提交方式。当用户单击“提交”按钮时,表单数据将被转换为 URL 参数并附加到action
属性所指定的 URL 后面,例如:
http://example.com/process.php?username=bob&password=123456
在 PHP 中,我们可以使用$_GET
超全局数组来访问 GET 方式提交的表单数据,如下所示:
$username = $_GET['username']; $password = $_GET['password'];
如果表单数据中包含中文或其他非 ASCII 字符,我们需要使用urlencode()
函数对其进行 URL 编码,以便正确处理这些字符。
POST 方式是 HTTP 协议中的另一种请求方法,与 GET 方式相比,POST 方式没有数据大小的限制,可以提交更多数据。使用 POST 方式提交表单时,表单数据将作为 HTTP 消息主体发送给服务器,而不是作为 URL 参数。因此 POST 方式更适合提交敏感数据,如密码、信用卡号等。
要设置表单的提交方式为 POST 方式,我们需要在表单标签中添加一个method="post"
的属性,如下所示:
<form action="process.php" method="post"> <!-- 表单元素 --> <input type="text" name="username"> <input type="password" name="password"> <input type="submit" value="提交"> </form>
在上述代码中,action
属性指定了表单提交的目标 URL,method
属性指定了表单的提交方式。当用户单击“提交”按钮时,表单数据将被封装在 HTTP 消息主体中,并发送到action
属性所指定的 URL。在 PHP 中,我们可以使用$_POST
超全局数组来访问 POST 方式提交的表单数据,如下所示:
$username = $_POST['username']; $password = $_POST['password'];
如果表单数据中包含中文或其他非 ASCII 字符,我们可以在 PHP 脚本顶部使用如下代码来设置字符集:
header('Content-Type: text/html; charset=utf-8');
除了使用$_GET
或$_POST
超全局数组之外,PHP 还提供了一个名为$_REQUEST
的超全局数组来访问表单数据。$_REQUEST
数组包含 GET、POST 和 COOKIE 数据的合集,它不是一个特定提交方式的数组,而是能够同时访问多种提交方式的表单数据。
该数组的使用方法与$_GET
和$_POST
相似,如下所示:
$username = $_REQUEST['username']; $password = $_REQUEST['password'];
需要注意的是,使用$_REQUEST
数组时需要非常小心,因为可能会导致安全性问题。
在 PHP 中,我们使用不同的方式来处理表单提交,包括 GET 方式、POST 方式和$_REQUEST
数组。 GET 方式适合提交较少的数据,而 POST 方式更适合提交大量数据和敏感数据。使用$_REQUEST
rrreee
Le L'attribut action
spécifie l'URL cible pour la soumission du formulaire et l'attribut method
spécifie la méthode de soumission du formulaire. Lorsque l'utilisateur clique sur le bouton "Soumettre", les données du formulaire seront converties en paramètres d'URL et ajoutées à l'URL spécifiée par l'attribut action
, par exemple : 🎜rrreee🎜En PHP, nous pouvons utiliser $_GETTableau super global pour accéder aux données du formulaire soumises par la méthode GET, comme indiqué ci-dessous : 🎜rrreee🎜Si les données du formulaire contiennent des caractères chinois ou d'autres caractères non-ASCII, nous devons utiliser urlencode( )
La fonction l'encode en URL pour que ces caractères soient gérés correctement. 🎜🎜Méthode POST pour soumettre le formulaire🎜🎜La méthode POST est une autre méthode de requête dans le protocole HTTP. Par rapport à la méthode GET, la méthode POST n'a pas de limite de taille de données et peut soumettre plus de données. Lorsque vous soumettez un formulaire via POST, les données du formulaire sont envoyées au serveur sous forme de corps de message HTTP, et non sous forme de paramètres d'URL. Par conséquent, la méthode POST est plus adaptée à la soumission de données sensibles, telles que des mots de passe, des numéros de carte de crédit, etc. 🎜🎜Pour définir la méthode de soumission du formulaire sur POST, nous devons ajouter un attribut method="post"
à la balise form, comme indiqué ci-dessous : 🎜rrreee🎜Dans le code ci-dessus, Le L'attribut action
spécifie l'URL cible pour la soumission du formulaire, et l'attribut method
spécifie la méthode de soumission du formulaire. Lorsque l'utilisateur clique sur le bouton Soumettre, les données du formulaire sont encapsulées dans le corps du message HTTP et envoyées à l'URL spécifiée par l'attribut action
. En PHP, nous pouvons utiliser le tableau superglobal $_POST
pour accéder aux données du formulaire soumises par POST, comme indiqué ci-dessous : 🎜rrreee🎜Si les données du formulaire contiennent des caractères chinois ou d'autres caractères non-ASCII, nous pouvons utiliser le code suivant en haut du script PHP pour définir le jeu de caractères : 🎜rrreee🎜Utilisez le tableau $_REQUEST🎜🎜En plus d'utiliser le $_GET
ou le $_POST
tableau superglobal, PHP fournit également Un tableau superglobal nommé $_REQUEST
est créé pour accéder aux données du formulaire. Le tableau $_REQUEST
contient une collection de données GET, POST et COOKIE. Il ne s'agit pas d'un tableau d'une méthode de soumission spécifique, mais de données de formulaire qui peuvent accéder à plusieurs méthodes de soumission en même temps. 🎜🎜L'utilisation de ce tableau est similaire à $_GET
et $_POST
, comme indiqué ci-dessous : 🎜rrreee🎜Il convient de noter que l'utilisation de $_REQUEST code > Soyez très prudent lorsque vous travaillez avec des tableaux car cela peut entraîner des problèmes de sécurité. 🎜🎜Résumé🎜🎜En PHP, nous utilisons différentes manières de gérer la soumission de formulaires, notamment la méthode GET, la méthode POST et le tableau <code>$_REQUEST
. La méthode GET convient pour soumettre moins de données, tandis que la méthode POST est plus adaptée pour soumettre de grandes quantités de données et des données sensibles. Utilisez le tableau $_REQUEST
pour accéder aux données du formulaire à partir de plusieurs méthodes de soumission en même temps. Les développeurs doivent choisir la méthode de soumission de formulaire appropriée en fonction de scénarios d'application spécifiques et des exigences en matière de données pour garantir le fonctionnement normal de l'application et la sécurité des données. 🎜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!