所以,我目前在PHP中使用elseif()
,但我遇到||
的问题。
我的代码如下:
elseif($token_24_check == 0 || $token_48_check == 0)
{
echo "<script>alert('Please enter a valid token!');</script>";
}
问题是,它不检查$token_24_check == 0
或$token_48_check == 0
,但会检查它们。因此,如果其中一个是假的,它仍然会返回false。
有谁知道如何解决这个问题?
以下是第一行(if()
)到最后一行(else
)的完整代码
if(empty($token))
{
echo "<script>alert('Please enter a token!');</script>";
}
elseif($user_check != 0)
{
echo '<script>alert("You can only redeem 1 token.\nPlease wait until your other token has expired!");</script>';
}
elseif($token_24_check == 0 || $token_48_check == 0)
{
echo "<script>alert('Please enter a valid token!');</script>";
}
elseif($token_check != 0)
{
echo "<script>alert('Token already used! Please use a new token');</script>";
}
else
echo "<script>alert('Token successfully redeemed!');</script>";
}
答案 0 :(得分:0)
在编写代码时,您使用else if
,elseif
在编写代码时,你正在尝试与else进行比较:
if($token_24_check == 0 || $token_48_check == 0)
{
echo "<script>alert('Please enter a valid token!');</script>";
}
$token_24_check = 0; $token_48_check = 1;
#this
#或这个
$token_24_check = 1; $token_48_check = 0;
#this触发== 0
if($token_24_check == 0 || $token_48_check == 0)
{
echo "<script>alert('== 0');</script>";
}
elseif($token_24_check >= 1 || $token_48_check >= 1)
{
echo "<script>alert('>= 1');</script>";
}
答案 1 :(得分:0)
使用其他标签修正了它。
我没有使用||
,而是使用了我应该首先使用的&&
。
现在它检查两个条件是否为0,然后echo
字符串。
感谢大家的帮助和提示。非常感谢!