function addBox($letter) {
echo "<input type=\"checkbox\" name=$letter <?php if(isset($_POST[$letter])) echo "checked"; ?> /> ".$letter."     ";
}
我正在尝试创建一个功能,即使在提交表单后也会使复选框保持检查状态。该行在html中工作正常,但在PHP中不起作用。我假设在echo语句中遇到PHP标记有问题。但即使我拿出那些标签,该功能仍然无效。有谁知道如何将该功能合并到函数的echo语句中?
答案 0 :(得分:1)
function addBox($letter) {
$chkBox="";
$chkBox.="<input type='checkbox' ";
$chkBox.="name='".$letter."' ";
$chkBox.=isset($_POST[$letter])?" checked='checked' ":"";
$chkBox.="/>";
echo $chkBox;
}
答案 1 :(得分:1)
我建议在功能中使用echo
永远。它只会使调试变得更加困难。我还建议删除对$_POST
的依赖。相反,尝试这样的事情......
function addBox($letter, $checked) {
$safeLetter = htmlspecialchars($letter);
return sprintf('<input type="checkbox" name="%s"%s>%s ',
$safeLetter, (bool) $checked ? ' checked' : '', $safeLetter);
}
然后像这样称呼它
echo addBox($letter, isset($_POST[$letter]));