參考:w3schools
要做表單就要先認識get
和post
簡單來說 HTML 裡面的表單 method="get" 或 method="post" 主要影響的是 資料傳送到伺服器的方式,這決定了資料是否顯示在 URL 上,以及適合的使用情境。
適合查詢、搜尋 (沒有敏感資料)
瀏覽器和伺服器會快取結果
有長度限制 (不同瀏覽器限制不同,通常幾千字元內)
優點:方便分享網址,快速測試
適合傳送大量或敏感資料 (密碼、檔案等)
不會被瀏覽器直接快取
網址不會顯示參數,比較安全(但要配合 HTTPS 才真正安全)
可以傳送複雜格式(例如 JSON、檔案)
在 PHP 中用 POST 或 GET 取得資料時,輸入框必須有 name
屬性,才能被程式接收。
可以加 required
屬性強制必填,使用 type="email" 讓瀏覽器檢查格式,避免使用者輸入錯誤。
常見預設或慣用的 name 欄位 (也可自訂,只要符合規範)
類型 | 常見 name | 說明 |
---|---|---|
使用者資訊 | name |
使用者姓名 |
電子郵件 | email |
用於 email 輸入框 |
電話 | phone / tel |
用於電話號碼輸入框 |
帳號 / 使用者名稱 | username / user |
登入或註冊用 |
密碼 | password / pwd |
登入或註冊密碼 |
地址 | address |
地址欄位 |
郵遞區號 | zipcode / postal |
郵遞區號輸入 |
年齡 | age |
數字輸入欄位 |
性別 | gender |
radio 或 select 使用 |
生日 | birthday / dob |
日期欄位 |
消費 / 商品 | product / quantity |
電商表單常用 |
選項 / 多選 | hobby[] / interest[] |
checkbox 陣列形式 |
隱藏欄位 | token / id |
用於 CSRF token 或資料識別 |
先建立一個簡單的表單 檔名 index.html
<html>
<body>
<form action="index.php" method="POST">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br> // 瀏覽器檢查email格式
<input type="submit">
</form>
</body>
</html>
這邊提一下 action 後面目標網址,要將資料發送到的位置。 所以建立另外一個檔案index.php
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
要執行這個表單,必須透過伺服器(Apache、、Laravel )因為php只能在伺服器運行
輸出
Welcome shseh
Your email address is: sjioewjt@gmail.com
<!-- url : http://localhost:8080/index.php-- 用post後面不含參數-->
method 改成 get
http://localhost:8080/index.php?name=12&email=tOIH%21%40gmail.com
總結:
GET 適合搜尋或篩選列表,POST 適合登入、註冊或上傳檔案
表單輸入可使用 HTML5 型態,例如 type="email",可讓瀏覽器先檢查格式
input type="submit" 可以加 value 改按鈕文字
開發時可以先用 GET 測試,確認資料送對,再改成 POST
明天學習怎麼防範表單攻擊