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