• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

PHP 讀取 POST 表單資料教學與範例

介紹如何使用 PHP 讀取以 POST 方法傳送的網頁表單資料。

POST 網頁表單

以下是簡單的網頁表單,若要採用 POST 方法來傳遞資料,可在 <form> 中加上 method="post",而傳送的目的網址則可用 action 指定:

<!DOCTYPE html>
<html>
<head>
  <title>POST</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h2>測試表單</h2>
<form method="post" action="action.php">
  <input type="text" name="username" placeholder="Enter Username" />
  <input type="password" name="password" placeholder="Enter Password" />
  <input type="submit" name="submit-btn" value="submit" />
</form>
</body>
</html>

這張表單在按下 submit 按鈕之後,會以 POST 的方式將資料送至 action.php。

PHP 接收 POST 資料

在 PHP 中我們可以透過 $_POST 變數來取得以 POST 方式所傳送的資料,典型的用來接收 POST 表單資料的 action.php 內容如下:

<?php
if (isset($_POST["submit-btn"])) {
  # 依欄位名稱取得資料
  print("<div>Username:" . $_POST['username'] . "</div>");
  print("<div>Password:" . $_POST['password'] . "</div>");

  # 輸出所有欄位資料(除錯用)
  echo "<pre>";
  print_r($_POST);
  echo "</pre>";
}
?>

收到 POST 表單資料之後,輸出會類似這樣:

Username:abc
Password:1234
Array
(
    [username] => abc
    [password] => 1234
    [submit-btn] => submit
)

這裡的 print_r 函數會將 $_POST 陣列的所有內容列出,在開發與除錯階段非常好用,而除了 print_r 函數之外,亦可使用 var_dump 函數。

PHP 讀取輸入串流資料

除了以常用的 $_POST 變數取得 POST 表單資料之外,亦可透過 PHP 的 php://input 這個輸入的串流來取得原始的資料:

<?php
if (isset($_POST["submit-btn"])) {
  # 從 PHP 輸入串流讀取原始資料
  $post_data = file_get_contents('php://input');
  echo "<div>" . $post_data . "</div>";
}
?>

從 PHP 的 php://input 輸入串流取得的資料會類似這樣:

username=abc&password=1234&submit-btn=submit

參考資料

  • GeeksforGeeks:How to get form data using POST method in PHP?

分類:PHP

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • Linux 檢查、測試 CPU AES-NI 硬體加速加密指令集教學
  • CentOS Linux 7.9 自行編譯、安裝 OpenSSH 9.0p1 伺服器教學與範例
  • Python 使用 zipfile 模組壓縮、解壓縮 ZIP 檔案教學與範例
  • Python 以 LINE Notify 自動傳送即時訊息、圖片教學與範例
  • Linux 使用 Prometheus 與 Grafana 監控伺服器狀態、發送告警 Email 簡訊教學與範例
  • Linux 設定 pam_tty_audit 記錄 SSH 使用者操作指令教學與範例
  • Linux 封鎖、解鎖登入失敗次數過多的帳號 pam_faillock 教學與範例
  • Python 使用 pytube 自動下載 YouTube 影片教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide