使用OR / ||在其他情况下,如果在PHP中无法正常工作

时间:2015-06-28 20:38:25

标签: php

所以,我目前在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>";
}

2 个答案:

答案 0 :(得分:0)

在编写代码时,您使用else ifelseif

然而...

在编写代码时,你正在尝试与else进行比较:

if($token_24_check == 0 || $token_48_check == 0)
                {
                    echo "<script>alert('Please enter a valid token!');</script>";
                }

尝试撤消if / elseif

$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字符串。

感谢大家的帮助和提示。非常感谢!