0
我正在從數據庫中填充PHP中的選擇框(下拉框)。在PHP中從下拉菜單中獲取多個值
function selBox(){
conDB();
$sql1 = "SELECT cname FROM course";
$selResult = mysql_query($sql1);
echo"<option value = 'default'>Select Course</option>";
$rowNum = 0;
while($selRows = mysql_fetch_array($selResult)){
echo"<option value = " . $selRows[0] . ">" . $selRows[0] . </option>";
}
mysql_close();
}
上述函數被調用的HTML這樣的:
<select name="delCourse"><?php selBox();?></select>
在同一頁上我得到了在下拉框中選擇的值。
$Selected = $_POST['delCourse'];
echo $Selected;
會發生什麼事是,我有很多的課程,在填充到保管箱的數據庫。用戶做出選擇,然後將它放入$ Selected以轉發到另一個函數。
問題:迴應$ Selected給出了雙重答案,如ScienceScience或MathematicsMathematics。我可以對此進行一些字符串操作以獲得正確的答案。是否有另一種方法可以只從保存箱中選擇的內容中獲取單個答案?
你可以顯示選擇框的HTML輸出嗎? – Mark 2013-03-20 09:53:04
您錯過了''的報價 – Waygood 2013-03-20 09:53:50
您正在動態生成HTML,並且未在所有動態內容中使用'htmlspecialchars'。這是一個等待發生的XSS漏洞。使用'echo htmlspecialchars($ selRows [0])'來代替,並確保將第二個和第三個參數傳遞給'htmlspecialchars',以便它可以正確地完成它的工作。 – Jon 2013-03-20 09:55:21