HTML 表單中:
<input type="checkbox" name="favourite" value="..."> 同名多個。multiple="multiple" 後顯示異常(不再單行)。PHP $_GET['favourite'] 僅取得最後一個值。
PHP 預設以「同名參數覆蓋」方式解析查詢字串,導致同名多選框只保留最後一個值。
<input type="checkbox" name="favourite[]" value="basketball">
<input type="checkbox" name="favourite[]" value="volleyball">
<input type="checkbox" name="favourite[]" value="football">
PHP 中 $_GET['favourite'] 將自動成為陣列,包含所有勾選值。
<select name="profession" multiple size="2">
<option value="student">Student</option>
<option value="teacher">Teacher</option>
<option value="worker">Worker</option>
</select>
size="2" 指定可見行數;選項超過時出現捲軸,避免一次展開所有選項佔據過多空間。
<form action="recv.php" method="get">
UserName: <input type="text" name="username" /><br/>
Sex: <input type="radio" name="sex" value="male" checked>Male
<input type="radio" name="sex" value="female">Female<br/>
Profession: <select name="profession" multiple size="2">
<option value="student">Student</option>
<option value="teacher">Teacher</option>
<option value="worker">Worker</option>
</select><br/>
Favourite: <input type="checkbox" name="favourite[]" value="basketball" checked>Basketball
<input type="checkbox" name="favourite[]" value="volleyball">Volleyball
<input type="checkbox" name="favourite[]" value="football">Football<br/>
<input type="submit" value="Submit" />
</form>
<?php
echo '<pre>';
print_r($_GET);
echo '</pre>';
?>
輸出將顯示 favourite 為陣列,profession 為陣列(若多選)。