首页  >  文章  >  后端开发  >  PHP POST 方法

PHP POST 方法

WBOY
WBOY原创
2024-08-29 12:56:49643浏览

PHP post 方法是浏览器客户端向网络服务器发送所需信息的方法之一。基本上,当我们必须登录网站或与邮件交互时,这意味着我们正在处理表单。表单用于获取用户信息并将其提交到网络服务器。它们基本上是 HTML 标签,具有图形用户界面项目,如输入框、单选按钮、复选框等。

开始您的免费软件开发课程

网络开发、编程语言、软件测试及其他

表单是使用

定义的。使用输入表单元素描述的标签和 GUI 项目在处理允许用户输入的可调整和动态应用程序的开发时使用。表单还可以用于更改数据库信息中的现有数据。

语法:

<?php
$_POST['var'];
?>

哪里,

  • var 是 URL 的变量名
  • $_POST 是 PHP 数组

PHP POST 方法如何工作?

此方法通过 HTTP 标头提交值,并且由于上述变量具有全局范围,因此可以从程序中的任何位置获取它。当表单发布值不显示在 URL 中时,最好使用此方法。

它的一些属性是:

  • 它对发送数据的大小没有任何限制。
  • 数据传输通过 HTTP 标头进行,因此安全性也依赖于此。因此,通过使用 HTTPS 方法,我们可以确保它是安全的。
  • 通过使用 POST 方法,我们可以访问 ASCII 和二进制数据。
  • $_POST 是访问此方法发送的所有信息的数组。

PHP POST 方法的实现示例

以下是提到的示例:

示例#1

代码:

<html>
<body>
<form action="Test.php" method="post">
First Name: <input type="text" name="name"><br>
Last Name: <input type="text" name="name"><br>
Mail ID: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>

输出:

PHP POST 方法

说明: 在此示例中,我们将看到一个简单的 HTML 表单提交,其中表单由 3 个属性组成:名字、姓氏和邮件 ID。当用户填写所有信息然后单击提交按钮时,输入的数据将使用 HTTP POST 方法发送。

示例#2

代码:

<?php
if (!empty($_POST))
{
// Defining an array for the list of post values for all the
// different forms on the page
$pNameArray = array('Form1', 'Form2', 'Form3');
// To search all post identifiers that fall within $_POST
$postIdArr = array();
foreach ($pNameArray as $pName)
{
if (array_key_exists($pName, $_POST))
{
$postIdArr[] = $pName;
}
}
// There should be only one post identifier at a time and hence
// only an individual form should be used for submitting at a time
// A warning statement can be used instead of the die statement as used here
if (count($postIdArr) != 1)
{
count($postIdArr) < 1 or
// validation of count
die("\Validating count here: " .
implode(" ", $postIdArr));
// The above condition is not satisfied hence there is only one post identifier
die("\Presence of unknown post");
}
// Using switch statement to execute the codes for respective forms
switch ($postIdArr[0])
{
case 'Form1':
echo "Execute actual code for Form1.";
break;
case 'Modifyform':
echo "Execute actual code for Form2.";
break;
case 'Deleteform':
echo "Execute actual code for Form3.";
break;
}
}
else // $_POST is empty.
{
// displaying that POST is not executed
echo "POST is empty";
}
?>

输出:

PHP POST 方法

说明: 在此示例中,我们将了解 POST 方法如何适用于多种表单。因此,我们使用 switch 语句来处理不同的表单,并且所有表单都应该是不同的,以便处理时不会出现任何错误。如果我们需要添加更多表单,只需要在数组和 switch 语句中添加一个条目即可。

示例#3

代码:

<?php
if( POST["fullname"] ||
POST["weight"] || POST["height"] ) {
if (preg_match("/[^A-Za-z'-]/",$_POST['fullname'] )) {
die ("The name given is invalid and should be alpha");
}
echo "Welcome ". $_POST['fullname']. "<br />";
echo "Welcome ". $_POST['height']. "<br />";
echo "You are ". $_POST['weight']. "weight in kgs";
exit();
}
?>
<html>
<body>
<form action = "<?php $_PHP_SELF ?>" method = "POST">
Full Name: <input type = "text" name = "fullname" />
Height: <input type = "text" name = "height" />
Weight: <input type = "text" name = "weight" />
<input type = "submit" />
</form>
</body>
</html>

输出:

PHP POST 方法

说明: 本例中的查询字符串发送到 POST 方法请求的 HTTP 消息正文。这里我们指定了 3 个属性,即全名、身高和体重。

PHP 中 POST 方法相对于 GET 方法的优点

  • 与 GET 相比,POST 方法更安全,因为用户输入的信息不会显示在 URL 查询字符串或服务器日志中。
  • POST 方法可以传递的数据范围比 GET 方法更大,因为它既可以发送文本数据,也可以发送二进制数据,例如使用 POST 方法上传文件。它支持许多此类高级功能。
  • 它支持各种不同的数据类型,如数字、字符串、二进制类型。

结论

如上所示,基本上PHP的Post方法是用来收集表单数据的。因此使用 HTTP Post 方法通过 Web 服务器发送信息。由于此信息在地址栏中永远不可见,因此通常用于通过服务器发送敏感数据。它们在性能方面也有一些缺点,POST 方法请求不会被缓存,因此不会保留在浏览器历史记录中。

以上是PHP POST 方法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn