如果其中2个为真,则两个错误链接都会出现,并且消息会彼此重叠;如果输入为0,并且还会显示用于验证空输入的语句,则会显示错误消息 另外,如果输入不是数字,但其他输入是数字,php仍会计算,但只返回您输入的数字以及错误代码,我该如何解决?
第一个语句是验证任何值是否为0以及是否将运算除以给出错误
if ($first == 0)
{ if ($operation == "Division")
print("<h1>ERROR</h1>
<p class=\"message\">YOU CAN NOT DIVIDE BY ZERO</p>");
}
else if($second == 0)
{ if ($operation =="Division")
print("<h1>ERROR</h1>
<p class=\"message\"> YOU CAN NOT DIVIDE BY ZERO</P>");
}
此if语句用于验证输入是否为数字
if (!is_numeric($first) or !is_numeric($second))
{
print("<h1> Error one or more inputs are not numbers</h1>" . "<p class=\"backlink\"><a href=\"calculator.html\">Go Back</a></p>");
}
如果要验证正数,则为第三
else if($first < 0 or $second < 0)
{
print("<h1> Error one of more of your numbers is a negative</h1>" . "<p class=\"backlink\"><a href=\"calculator.html\">Go Back</a></p>");
}
此if语句验证空输入
if (empty($first) or empty($second))
{
print("<p class=\"message\"> One or more input field is empty </p>" . "<p class=\"backlink\"><a href=\"calculator.html\">Go Back</a></p>");
}else{
答案 0 :(得分:0)
@irvdtcc查看代码,我了解您需要检查多个条件并仅在所有条件都为真时才显示结果。
要检查的条件 1)$ first和$ second是大于0的数字 2)$ first和$ second输入不为空。
最好的方法是对每个条件使用标志,如下所示。
<?php
$fl_positive=0;
$fl_num=0;
$fl_empty=0;
$error_message="";
//check if number is empty -- empty is true of $first=0 or $first="". In either case //empty($first) will result in true.
if(empty($first) or empty($second)){
$fl_empty=1;
$error_emssage . = "First or Second number is empty or zero";
}
elsif($first<0) or ($second<0)) {
$fl_positive=1;
$error_message . = " First or Second number is Negative";
}
//Check all criteria in the same manner
if($fl_positive==1) or ($fl_num==0) or ($fl_empty=0)){
echo $error_message;
}
?>