【发布时间】:2021-02-04 06:23:17
【问题描述】:
我有一个表单,我正在做输入验证,所以当用户输入错误时,我会生成一条错误消息并重新填写用户输入的所有字段。
现在,当我开始将 php.ini 文件用于 mysql 的东西时,会弹出一些错误,例如
Undefined index: var in file.php on line n
对于一个简单的文本输入(标题),我可以通过这样做相当容易地解决这个问题
value="<?= isset($_POST["title"]) ? $_POST["title"] : "";?>"
不过,我也使用 5 个单选按钮来进行评分,如下所示:
value="1" <?= $_POST["grade"] == "1" ? "checked" : "" ?>
value="2" <?= $_POST["grade"] == "2" ? "checked" : "" ?>
etc
我也尝试在这里使用 isset 绷带,
value="1" <?= isset($_POST["grade"] == "1") ? "checked" : "" ?>
但正如我很快被提醒的那样,isset 仅适用于变量和数组,而不适用于布尔值。
什么是解决这个问题的合适方法?
【问题讨论】:
-
您能否尝试将
<?=替换为<?php并重试? -
谁告诉 isset 不适用于布尔值?
-
@MerianosNikos 如果他们用
<?php替换<?=,它不会输出任何东西。<?=只是写<?php echo的一种更短的方式@ -
@MagnusEriksson 我只是认为这可能会改变 php.ini 中影响短开始标签的某些内容。如果没有完整的代码示例,要提供帮助并不容易。
-
@MerianosNikos - 无论短打开标签设置如何,都可以使用简写
<?=。