表單傳送方式與接受方式
傳送
- 表單區域是以
<form>
標籤所包圍的範圍 action
指定傳送的目標頁面method
傳送方式GET
- 表單資料將以字串的方式附加在網址的後面傳送
- 在網址
?
之後的即是欄位key
與value
- 每個欄位之間用
&
連結
POST
- 表單資料放在
message-body
進行傳送
- 表單資料放在
name
屬性代表欄位
接收
- 在 PHP 程式中使用
$_GET
或$_POST
取得欄位的值
$_GET['欄位名稱']
$_POST['欄位名稱']
example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<form action="php_form1.php" method="POST">
<input type="text" name="username" />
<input type="submit" name="送出" />
</form>
</body>
</html>
<?php
echo "輸入的姓名為:";
echo $_POST["username"];
?>
GET、POST 差異
表單在選擇使用 GET
或 POST
傳送方式時,可以參考以下幾點:
- 當沒有設定傳送方式的時候,GET 是表單預設的傳送方式
- GET 是不安全的,因為在傳輸過程資料會被放在請求的網址中,瀏覽者可以在瀏覽器上直接看到提交的數據,而 POST 所有操作對瀏覽者來說都是不可見的
- GET 傳輸的資料量小,主要是因為受網址長度限制,而 POST 可以傳輸大量的數據,而且上傳檔案只能使用 POST
- GET 限制表單的資料的值必須是 ASCII 的字符,而 POST 支援整個 ISO10646 編碼