我有一个php脚本,它查询MySQL数据库并使用收到的数据填充下拉菜单。一切都很好,突然间,回声"自定义"选项没有出现在我面前。我让其他人检查同一页,他看到了。我试着更改浏览器,但一无所获。有人知道为什么会发生这种事吗?
echo '<div class="c_element" style="height: auto;">
<select class="c_sel">';
$c= mysql_query("SELECT * FROM C WHERE c_lo_id =".$sel_lo_id) or die(mysql_error());
while($row = mysql_fetch_array($c))
{
echo '<option value='.$row['c_id'].'>'.$row['c_name'].'</option>';
}
echo '<option value="0">Custom </option>
</select>';
如果您的值包含破坏html的字符,如'
、>
或<
,则可能发生这种情况。当输出到html时,您应该始终确保这些代码是正确编码的。
除此之外,如果你的值中有空格,也会发生这种情况,因为你没有引用属性值。
同时更正:;
echo '<option value="'.htmlspecialchars($row['c_id']).'">'.htmlspecialchars($row['c_name']).'</option>';
^ added as well ^