• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
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

讀者互動

發佈留言 取消回覆

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

Primary Sidebar

搜尋

分類

Android Apple C/C++ Excel Linux OneNote PHP PowerPoint PowerShell Python R Windows Word 免費工具 創客 網站架設 線上工具 資料庫 遊戲 雜七雜八

近期文章

  • Linux 列出所有使用者清單教學與範例
  • Linux 查詢、轉換 Big5、UTF8 檔案編碼教學與範例
  • Linux 使用 openssl 指令檢查 TLS/SSL 憑證到期日教學與範例
  • socat 雙向資料流轉接工具使用教學與範例
  • Linux 強制使用者登出教學與範例
  • Linux 查看目前登入系統的使用者教學與範例
  • Python 使用 openpyxl 模組繪製 Excel 圖表教學
  • Excel 以公式的結果取代公式教學與範例

推薦網站

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

關注本站

  • 電子郵件
  • Facebook

Copyright © 2020 · Office Guide