PHP

PHP 接收 GET 與 POST 表單變數用法教學與範例

介紹如何在 PHP 中以 $_GET$_POST 取得從網頁表單送出的 GET 與 POST 資料。

GET 表單

GET 的網頁表單適合用來處理較簡短的資料,假設我們有一張簡單的表單如下,包含了一個文字欄位、單選、多選欄位:

其 HTML 網頁原始碼如下:

<html>
  <body>

    <!-- GET 表單 -->
    <form method="GET" action="get.php">
      姓名:<input type="text" name="username" /><br />
      性別:
        <input type="radio" name="gender" value="male" /><input type="radio" name="gender" value="female" /><br />
      交通工具:
        <input type="checkbox" name="trans[]" value="car"/> 汽車
        <input type="checkbox" name="trans[]" value="scooter"/> 機車<br />
      <input type="submit" value="送出" />
    </form>

  </body>
</html>

若是以 GET 方式傳送的表單,在 PHP 中可以透過 $_GET 這個系統變數取得送出的資料,以下是接收表單資料的 PHP 指令稿 get.php

<?php

$username = $_GET['username'];
echo "姓名:$username<br/>";

$gender = $_GET['gender'];
echo "性別:$gender<br/>";

# checkbox 會轉為陣列
$transArray = $_GET['trans'];
echo "交通工具:" . join(",", $transArray) . "<br/>";

?>

GET 的方式只能傳送少量的資料,若需要傳送較大量的資料(例如 textarea 或檔案等),則建議改用 POST 的方式。

POST 表單

POST 表單可以用來處理較大量的資料,而且傳輸資料的過程也比 GET 方式更為安全。以下是一個簡單的 POST 表單:

其 HTML 網頁原始碼如下:

<html>
  <body>

    <!-- POST 表單 -->
    <form method="POST" action="post.php">
      姓名:<input type="text" name="username" /><br />
      性別:
        <input type="radio" name="gender" value="male" /><input type="radio" name="gender" value="female" /><br />
      交通工具:
        <input type="checkbox" name="trans[]" value="car"/> 汽車
        <input type="checkbox" name="trans[]" value="scooter"/> 機車<br />
      詳細說明:<br />
        <textarea name="descr"></textarea><br />
      <input type="submit" value="送出" />
    </form>

  </body>
</html>

若是以 POST 方式傳送的表單,在 PHP 中可以透過 $_POST 這個系統變數取得送出的資料,以下是接收表單資料的 PHP 指令稿 post.php

<?php

$username = $_POST['username'];
echo "姓名:$username<br/>";

$gender = $_POST['gender'];
echo "性別:$gender<br/>";

# checkbox 會轉為陣列
$transArray = $_POST['trans'];
echo "交通工具:" . join(",", $transArray) . "<br/>";

$descr = $_POST['descr'];
echo "詳細說明:<br/>$descr<br/>";

?>
Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago