
- PHP 教程
- PHP - 首頁
- PHP - 簡介
- PHP - 安裝
- PHP - 歷史
- PHP - 特性
- PHP - 語法
- PHP - Hello World
- PHP - 註釋
- PHP - 變數
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ 和 $$ 變數
- PHP - 常量
- PHP - 魔術常量
- PHP - 資料型別
- PHP - 型別轉換
- PHP - 型別強制轉換
- PHP - 字串
- PHP - 布林值
- PHP - 整數
- PHP - 檔案與I/O
- PHP - 數學函式
- PHP - Heredoc 和 Nowdoc
- PHP - 複合型別
- PHP - 檔案包含
- PHP - 日期與時間
- PHP - 標量型別宣告
- PHP - 返回型別宣告
- PHP 運算子
- PHP - 運算子
- PHP - 算術運算子
- PHP - 比較運算子
- PHP - 邏輯運算子
- PHP - 賦值運算子
- PHP - 字串運算子
- PHP - 陣列運算子
- PHP - 條件運算子
- PHP - 展開運算子
- PHP - 空值合併運算子
- PHP - 比較運算子
- PHP 控制語句
- PHP - 決策機制
- PHP - If…Else 語句
- PHP - Switch 語句
- PHP - 迴圈型別
- PHP - For 迴圈
- PHP - Foreach 迴圈
- PHP - While 迴圈
- PHP - Do…While 迴圈
- PHP - Break 語句
- PHP - Continue 語句
- PHP 函式
- PHP - 函式
- PHP - 函式引數
- PHP - 按值傳遞
- PHP - 按引用傳遞
- PHP - 預設引數
- PHP - 具名引數
- PHP - 可變引數
- PHP - 返回值
- PHP - 傳遞函式
- PHP - 遞迴函式
- PHP - 型別提示
- PHP - 變數作用域
- PHP - 嚴格型別
- PHP - 匿名函式
- PHP - 箭頭函式
- PHP - 可變函式
- PHP - 區域性變數
- PHP - 全域性變數
- PHP 超全域性變數
- PHP - 超全域性變數
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP 檔案處理
- PHP - 檔案處理
- PHP - 開啟檔案
- PHP - 讀取檔案
- PHP - 寫入檔案
- PHP - 檔案是否存在
- PHP - 下載檔案
- PHP - 複製檔案
- PHP - 追加檔案
- PHP - 刪除檔案
- PHP - 處理CSV檔案
- PHP - 檔案許可權
- PHP - 建立目錄
- PHP - 列出檔案
- 面向物件的PHP
- PHP - 面向物件程式設計
- PHP - 類和物件
- PHP - 建構函式和解構函式
- PHP - 訪問修飾符
- PHP - 繼承
- PHP - 類常量
- PHP - 抽象類
- PHP - 介面
- PHP - 特性
- PHP - 靜態方法
- PHP - 靜態屬性
- PHP - 名稱空間
- PHP - 物件迭代
- PHP - 封裝
- PHP - final 關鍵字
- PHP - 過載
- PHP - 克隆物件
- PHP - 匿名類
- PHP Web 開發
- PHP - Web 概念
- PHP - 表單處理
- PHP - 表單驗證
- PHP - 表單郵箱/URL
- PHP - 完整表單
- PHP - 檔案包含
- PHP - GET 和 POST
- PHP - 檔案上傳
- PHP - Cookie
- PHP - Session
- PHP - Session 選項
- PHP - 傳送郵件
- PHP - 輸入過濾
- PHP - Post-Redirect-Get (PRG)
- PHP - 快閃記憶體訊息
- PHP 高階
- PHP - MySQL
- PHP.INI 檔案配置
- PHP - 陣列解構
- PHP - 程式碼規範
- PHP - 正則表示式
- PHP - 錯誤處理
- PHP - Try…Catch
- PHP - 除錯Bug
- PHP - 針對C語言開發者
- PHP - 針對Perl開發者
- PHP - 框架
- PHP - Core PHP vs. 框架
- PHP - 設計模式
- PHP - 過濾器
- PHP - JSON
- PHP - 異常
- PHP - 特殊型別
- PHP - 雜湊
- PHP - 加密
- PHP - is_null() 函式
- PHP - 系統呼叫
- PHP - HTTP 認證
- PHP - 交換變數
- PHP - Closure::call()
- PHP - 過濾後的 unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - 期望值
- PHP - use 語句
- PHP - 整數除法
- PHP - 已棄用的特性
- PHP - 已移除的擴充套件和SAPI
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI 程序
- PHP - PDO 擴充套件
- PHP - 內建函式
- PHP 有用資源
- PHP - 速查表
- PHP - 問答
- PHP - 快速指南
- PHP - 線上編譯器
- PHP - 有用資源
- PHP - 討論
PHP - 表單處理
HTML 表單在PHP Web應用程式中扮演著重要的角色。雖然純HTML組成的網頁是靜態網頁,但HTML表單元件是一個重要的特性,有助於帶來互動性和渲染動態內容。PHP的表單處理功能可以在處理之前驗證從使用者收集的資料。
HTML表單是各種表單控制元件(例如文字欄位、複選框、單選按鈕等)的集合,使用者可以與這些控制元件互動,輸入或選擇某些資料,這些資料可以透過JavaScript(客戶端處理)在本地處理,也可以透過伺服器端程式設計指令碼(例如PHP)傳送到遠端伺服器進行處理。
一個或多個表單控制元件元素放在<form>和</form>標籤內。表單元素的特徵在於不同的屬性,例如name、action和method。
<form [attributes]> Form controls </form>
表單屬性
在HTML表單元素的眾多屬性中,以下屬性通常是必需且已定義的:
Action 屬性
一個字串,表示處理表單提交的URL。例如,http://example.com/test.php。要將表單資料提交到定義HTML表單的同一PHP指令碼中,請使用PHP_SELF伺服器變數:
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Enctype 屬性
指定在將表單資料傳送到伺服器之前應如何對其進行編碼的方法。可能的值包括:
application/x-www-form-urlencoded - 預設值。
multipart/form-data - 如果表單包含type=file的<input>元素,則使用此屬性。
text/plain - 用於除錯目的。
Method 屬性
一個字串,表示提交表單的HTTP方法。以下方法是method屬性的可能值:
post - POST方法;表單資料作為請求正文傳送。
get (default) - GET方法;表單資料使用“?”分隔符附加到action URL。如果表單沒有副作用,請使用此方法。
dialog - 當表單位於<dialog>內時,關閉對話方塊並觸發提交事件,而無需提交資料或清除表單。
Name 屬性
表單的名稱。該值不能是空字串,如果同一HTML文件中有多個表單,則該值必須唯一。
Target 屬性
一個字串,指示在提交表單後在哪裡顯示響應。應該是以下值之一:
_self (default) - 載入到與當前瀏覽上下文相同的瀏覽上下文。
_blank - 載入到新的未命名瀏覽上下文。
_parent - 載入到當前瀏覽上下文的父級瀏覽上下文。
_top - 載入到頂級瀏覽上下文(當前瀏覽上下文的祖先,並且沒有父級)。
因此,在PHP Web應用程式中使用的典型HTML表單如下所示:
<form name="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" action="POST"> Form controls </form>
表單元素
HTML表單使用不同型別的控制元件或元素設計。使用者可以與這些控制元件互動以輸入資料或從提供的選項中進行選擇。下面描述一些元素:
Input 元素
input元素表示資料欄位,使使用者能夠輸入和/或編輯資料。
INPUT元素的type屬性控制資料。INPUT元素可以具有以下型別:
Text
用於輸入單行文字的文字欄位。
<input type="text" name="employee">
Password
單行文字欄位,用於遮蔽輸入的字元。
<input type="password" name="pwd"><br>
Checkbox
一個矩形的可選中框,它是一組從預定義列表中選擇零個或多個值。
<input type="checkbox" id="s1" name="sport1" value="Cricket"> <label for="s1">I like Cricket</label><br> <input type="checkbox" id="s2" name="sport2" value="Football"> <label for="s2">I like Football</label><br> <input type="checkbox" id="s3" name="sport3" value="Tennis"> <label for="s3">I like Tennis</label><br><br>
Radio
此型別呈現一個圓形的可點選按鈕,具有兩種狀態(ON或OFF),通常是單選組中多個按鈕的一部分。
<input type="radio" id="g1" name="gender" value="Male"> <label for="g1">Male</label><br> <input type="radio" id="g2" name="female" value="Female"> <label for="g2">Female</label><br>
File
此輸入型別呈現一個標題為“檔案”的按鈕,允許使用者從客戶端檔案系統選擇檔案,通常用於上傳到伺服器。表單的enctype屬性必須設定為“multipart/form-data”。
<input type="file" name="file">
單行文字欄位,自定義為接受符合有效電子郵件ID的字串。
URL
單行文字欄位,自定義為接受符合有效URL的字串。
Submit
此input元素呈現一個按鈕,單擊該按鈕會啟動將表單資料提交到當前表單action屬性中指定的URL。
<input type="submit" name="Submit">
Select 元素
select元素表示一個控制元件,用於在一組選項中進行選擇。每個選項都使用Select控制元件的option屬性定義。例如:
<select name="Subjects" id="subject"> <option value="Physics">Physics</option> <option value="Chemistry">Chemistry</option> <option value="Maths">Maths</option> <option value="English">English</option> </select>
表單示例
讓我們使用這些表單元素來設計一個HTML表單並將其傳送到PHP_SELF指令碼
<html> <body> <form method = "post" action = "<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <table> <tr> <td>Name:</td> <td><input type = "text" name = "name"></td> </tr> <tr> <td>E-mail: </td> <td><input type = "email" name = "email"></td> </tr> <tr> <td>Website:</td> <td><input type = "url" name = "website"></td> </tr> <tr> <td>Classes:</td> <td><textarea name = "comment" rows = "5" cols = "40"></textarea></td> </tr> <tr> <td>Gender:</td> <td> <input type = "radio" name = "gender" value = "female">Female <input type = "radio" name = "gender" value = "male">Male </td> </tr> <td> <input type = "submit" name = "submit" value = "Submit"> </td> </table> </form> <?php $name = $email = $gender = $comment = $site = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = $_POST["name"]; $email = $_POST["email"]; $name = $_POST["name"]; $comment = $_POST["comment"]; $gender = $_POST["gender"]; $site = $_POST["website"]; } echo "<h2>Your given values are as:</h2>"; echo $name; echo "<br>"; echo $email; echo "<br>"; echo $site; echo "<br>"; echo $comment; echo "<br>"; echo $gender; ?> </body> </html>
它將產生以下輸出:
