Php 即使满足条件,也要执行elseif行
PHPPhp 即使满足条件,也要执行elseif行,php,html,Php,Html,PHP <?php if (isset($_POST['calculate'])) { $seller= $_POST['seller']; $buyer= $_POST['buyer']; $amount= $_POST['amount']; $rate= $_POST['tax_rate']; if (empty(($seller && $buyer) &&
<?php
if (isset($_POST['calculate'])) {
$seller= $_POST['seller'];
$buyer= $_POST['buyer'];
$amount= $_POST['amount'];
$rate= $_POST['tax_rate'];
if (empty(($seller && $buyer) && ($amount && $rate) )){
echo $warning= "Please full out the fields properly";
}elseif(!is_int($amount && $rate)){
echo $warning ="please input numbers on Tax Rate & Amount";
}
}
}
是int($amount&&$rate)
没有测试$amount
和$rate
是否都是整数。它正在测试表达式$amount&&$rate
的值是否为整数&
是一个布尔值,
,如果两个操作数都是真的,则返回true
,否则返回false
。由于结果是布尔值而不是整数,is_int()
将始终为此返回false
另一个问题是表单输入总是字符串,而不是数字。如果要测试字符串是否与数字相似,必须使用is_numeric
,而不是is_int
。因此,代码应该是:
elseif (!is_numeric($amount) || !is_numeric($rate))
测试每个变量
类似地,如果要测试多个变量是否为空,请使用
if (empty($seller) || empty($buyer) || empty($amount) || empty($rate)) {
echo $warning = "Please fill out all the fields properly";
}
is_int($amount&&$rate)
没有测试$amount
和$rate
是否都是整数。它正在测试表达式$amount&&$rate
的值是否为整数&
是一个布尔值,
,如果两个操作数都是真的,则返回true
,否则返回false
。由于结果是布尔值而不是整数,is_int()
将始终为此返回false
另一个问题是表单输入总是字符串,而不是数字。如果要测试字符串是否与数字相似,必须使用is_numeric
,而不是is_int
。因此,代码应该是:
elseif (!is_numeric($amount) || !is_numeric($rate))
测试每个变量
类似地,如果要测试多个变量是否为空,请使用
if (empty($seller) || empty($buyer) || empty($amount) || empty($rate)) {
echo $warning = "Please fill out all the fields properly";
}
试试}其他(!is_int($amount)和&!is_int($rate)){
如果(空(($seller&$buyer)和($amount&$rate)){
?空($seller&$buyer)和($amount&$rate))
没有任何意义。您正在测试布尔真/假是否为空…这意味着如果&&
所有值都为真,您将得到一个布尔真,它不是空的。$amount&&&$rate
永远不能是整数。&&
总是返回一个布尔值。嘿,我真的希望检查用户是否没有提交form empty?我想我在那里的感觉不好?试试}其他(!is_int($amount)&!is_int($rate)){
还有,如果(empty($seller&$buyer)&($amount&$rate)){empty($seller&$buyer)&($amount&$rate))空($seller&($amount&&$rate))你对这行的期望是什么没有任何意义。您正在测试布尔真/假是否为空…这意味着如果&&
所有值都为真,您将得到一个布尔真,它不是空的。$amount&&&$rate
永远不能是整数。&&
总是返回一个布尔值。嘿,我真的希望检查用户是否没有提交form empty?我想我在那里的感觉不好?但即使我试着在金额和税上输入数字,为什么税行和金额应该是数字?你输入的数字是什么?随机数字取1或任何东西确保你没有输入小数。1应该起作用,1.2不会起作用,因为这是一个浮点数,而不是整数。使用是数字e> ,而不是是int
。但即使我尝试输入金额和税的数字,为什么税和税的行应该是数字?你输入的数字是什么?随机数取1或任何东西确保你没有输入小数。1应该有效,1.2不会,因为这是一个浮点数,而不是整数。使用是数字
,而不是is_int
。