介紹如何在 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/>";
?>
