試試這個HTML。 Mozilla Firefox和IE都很好用!
<html>
<head>
<title>Name Attribute with Spaces</title>
</head>
<body>
<form method="get"> <!-- no "action", form will post to self -->
<table>
<thead><b>Please provide login details</b></thead>
<tbody>
<tr>
<td>Username:</td>
<td><input type="text" name="user name" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="pass word" /></td>
</tr>
<tr>
<td>List Box:</td>
<td>
<select name="123 list box" size="3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Login" /></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
原因HTML不具有空間的任何問題是URL編碼。如果你測試上面的表單,你會發現瀏覽器會自動編碼特殊字符,因此一個空格會被轉換爲「+」(或者有時候是「%20」)。
test.html?user+name=ravi&pass+word=canuseeme&123+list+box=2
爲什麼PHP似乎在這裏遇到麻煩(從我依稀記得)的原因是,它試圖爲輕鬆地將請求參數訪問的變量到PHP程序員。任何語言的變量名都不包含空格或以數字開頭。
編輯:事實上,如果你讓多項選擇真正爲您的選擇框(剛加入多個屬性在選擇)的名稱需要在"[]"
結束給PHP一個暗示,它需要安排一個數組變量!
@Raidenace:不,它不應該。 HTML屬性值是以空格分隔的,「列表框」的名稱將是*兩個*名稱(這是無效的)。 – 2013-04-25 22:28:10