首頁  >  文章  >  後端開發  >  PHP POST 方法

PHP POST 方法

WBOY
WBOY原創
2024-08-29 12:56:49762瀏覽

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