Elaine's Blog 朝著 senior 前進的工程師

PHP 表單資料傳送方式

2019-02-04
PHP

表單傳送方式與接受方式

傳送

  • 表單區域是以 <form> 標籤所包圍的範圍
  • action 指定傳送的目標頁面
  • method 傳送方式
    • GET
      • 表單資料將以字串的方式附加在網址的後面傳送
      • 在網址 ? 之後的即是欄位 keyvalue
      • 每個欄位之間用 & 連結
    • 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 差異

表單在選擇使用 GETPOST 傳送方式時,可以參考以下幾點:

  • 當沒有設定傳送方式的時候,GET 是表單預設的傳送方式
  • GET 是不安全的,因為在傳輸過程資料會被放在請求的網址中,瀏覽者可以在瀏覽器上直接看到提交的數據,而 POST 所有操作對瀏覽者來說都是不可見的
  • GET 傳輸的資料量小,主要是因為受網址長度限制,而 POST 可以傳輸大量的數據,而且上傳檔案只能使用 POST
  • GET 限制表單的資料的值必須是 ASCII 的字符,而 POST 支援整個 ISO10646 編碼

參考資料


Content