我这里似乎发生了一件奇怪的事情。 如果我选中表单上的复选框,那么 php 脚本将完美运行。 如果我不选中此框,php 会报告另一个变量的未定义索引。
那是使用 IIS 本地主机,检查内容。
在网络上发布的相同脚本无论如何都有效。 好吧,几乎完全相同。我在本地添加了一个变量“test”POST-ed 到 php,并与硬编码值进行了比较。就这样。
这是复选框的 html:
<tr>
<td>Publish Comment?</td>
<td><input name="publishok" value="NO" type="checkbox"> Check Box For Do spanstyle="font-weight: bold;">Not</span> Publish</td>
</tr>
<tr>
这里是变量“publishok”的 php:
$IP = $_SERVER["REMOTE_ADDR"];
$publishok = $_POST['publishok'];
$test = $_POST['test'];
if ($test != 'park') die ("Wrong input. Sorry. Go back, try again");
我怀疑我的编辑器 PSPad 添加了伪造的(和不可见的)字符代码或其他东西,所以我升级到最新版本。没有区别。
想不出是什么原因造成的。
有人能帮忙吗?
最佳答案
复选框在没有勾选的情况下不会向服务器发送数据。
你必须使用 isset($_POST['publishok'])
来检查它是否在服务器端被检查。
关于php - 如果我不选中复选框,则未定义索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18603884/