PHP,未定义索引,isset和单选按钮

问题描述

我有一个表单,正在进行输入验证,因此,当用户输入错误时,我会生成一条错误消息并重新填写用户输入的所有字段。

现在,当我开始将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仅适用于变量和数组,不适用于布尔值。

什么是解决此问题的合适方法

解决方法

您要做的第一件事是检查是否设置了变量。然后,您可以将比较附加到运算符。

0x08