【发布时间】:2016-06-11 00:53:25
【问题描述】:
我最近开始写一个学习html/css/js/php的网站。
我使用引导程序设计了网站的前端。 现在我正在尝试使用 PHP 验证一些输入。
我试过了:
if ($durationHH <= 0 && $durationMM <= 0)
{
echo "DurationHH and DurationMM can not be both zero at the same time.";
echo "<br>";
echo "DurationHH and DurationMM can not be smaller than 0.";
}
elseif (empty($durationHH) || empty($durationMM))
{
echo "DurationHH and DurationMM can not be empty.";
echo "<br>";
}
else
{
echo $_POST["durationMM"];
echo ":";
echo $_POST["durationHH"];
}
我通过为 durationHH 和 durationMM 输入一些值来测试验证。
到目前为止一切正常,除了这两种情况:
durationMM = 0 AND durationHH = 任意值
&&
durationHH= 0 AND durationMM = 任意值。
在这两种情况下,我得到输出:“DurationHH 和 DurationMM 不能为空。”
这是如何/为什么会发生的?
【问题讨论】:
-
0在这种情况下为空,因此请更改为$durationHH == '' || $durationMM == ''或者您可以使用is_numeric -
这个SO question 可能会给你一些想法
-
感谢您的回复。它现在工作^^
标签: php if-statement logic logical-operators boolean-logic