form.html)包含常見輸入類型:文字框、密碼框、下拉選單、多行文字、單選組、複選組、多選下拉選單、隱藏欄位。
<form action="someform.php" method="post">
<table>
<tr><td>姓名:</td><td><input type="text" name="username" value="raymond" id="username"/></td></tr>
<tr><td>密碼:</td><td><input type="password" name="password" maxlength="10" id="password"/></td></tr>
<tr><td>年齡:</td><td>
<select name="age">
<option value="16">小於16</option>
<option value="16-30" selected>16-30</option>
<option value="31-50">31-50</option>
<option value="51-80">51-80</option>
</select>
</td></tr>
<tr><td>自我介紹:</td><td><textarea name="intro" rows="3" cols="50">請輸入...</textarea></td></tr>
<tr><td>體育愛好:</td><td>
<input type="radio" name="fave_sport" value="tennis" checked>網球
<input type="radio" name="fave_sport" value="football">足球
<input type="radio" name="fave_sport" value="baseball">籃球
<input type="radio" name="fave_sport" value="polo">保齡球
</td></tr>
<tr><td>開發語言:</td><td>
<input type="hidden" name="from" value="注冊表單">
<input type="checkbox" name="languages[]" value="php" checked>PHP
<input type="checkbox" name="languages[]" value="java">Java
<input type="checkbox" name="languages[]" value="perl">Perl
<input type="checkbox" name="languages[]" value="cpp">C++
<input type="checkbox" name="languages[]" value=".net">.NET
<input type="checkbox" name="languages[]" value="delphi">Delphi
</td></tr>
<tr><td>開發工具:</td><td>
<select name="develop_ide[]" size="5" multiple>
<option value="ZDE" selected>Zend Studio</option>
<option value="Eclipse">Eclipse</option>
<option value="Editplus">Editplus</option>
<option value="Ultraedit">Ultraedit</option>
<option value="Other">Other</option>
</select>
</td></tr>
<tr><td></td><td><input type="submit" name="btn_submit" value="提交"/></td></tr>
</table>
</form>
maxlength:限制密碼最大長度(前端攔截,後端仍需驗證)。selected:預設選中選項。rows/cols:設定 textarea 顯示尺寸。name="fave_sport":單選組同名,僅傳遞一個值。name="languages[]":複選組加 [] 以陣列形式接收多值。checked:預設勾選項。someform.php)<?php
if (isset($_POST['btn_submit'])) {
// 必填驗證
if (empty($_POST['username'])) { echo '您沒有輸入用戶名'; exit; }
if (empty($_POST['password'])) { echo '您沒有輸入密碼'; exit; }
// 輸出基本欄位
echo '您的用戶名:' . htmlspecialchars($_POST['username']) . '<br>';
echo '您的密碼(明文):' . htmlspecialchars($_POST['password']) . '<br>';
echo '您的年齡:' . htmlspecialchars($_POST['age']) . '<br>';
// 處理複選陣列
if (!empty($_POST['languages'])) {
echo '您選擇的語言:';
foreach ($_POST['languages'] as $lang) echo htmlspecialchars($lang) . ' ';
} else { echo '您沒有輸入任何興趣愛好'; }
echo '<br>';
// 處理多選下拉陣列
if (!empty($_POST['develop_ide'])) {
echo '您使用的開發工具:';
foreach ($_POST['develop_ide'] as $ide) echo htmlspecialchars($ide) . ' ';
} else { echo '您沒有選擇開發工具'; }
echo '<br>';
// 多行文字保留換行
echo '您的自我介紹:' . nl2br(htmlspecialchars($_POST['intro'])) . '<br>';
// 隱藏欄位
echo '網頁隱藏值:' . htmlspecialchars($_POST['from']) . '<br>';
}
?>
htmlspecialchars() 轉義,防 XSS。password_hash()。filter_input() 或框架驗證器進行更嚴格的輸入過濾。本範例展示了從表單構建到後端處理的完整流程,適合初學者掌握 PHP 表單處理基礎。