简体   繁体   中英

If else not working properly

So I made page with unban request and in users table I save if user already sent request or not so I don't have multiple unban requests from one user.Now when I check if user sent request it's not working.In database it stands 0 and it's still showing me error pop out. Here is code, thanks for help in advance

if(isset($_POST['btn-unban_req']))
{   
    if($unban_sent = 0)//THIS IS WHERE I CHECK
    {
        //MY THIGNS HERE
        if($connection ->query($unbanquery) === TRUE) 
        {           
          //MY THIGNS HERE
            if ($connection->query($sentquery) === TRUE) 
            {
            } 
            else 
            {
                echo $connection->error;
            }
        }
        else
        {

        }
    }
    else  // AND I GET THIS ERROR EVEN IF IT STANDS 0 IN DATABASE
    {
        echo "Unban already sent!";
    }
}

In line 3 you missed a = for comparision. Instead, you set $unban_set to 0

Try it with this code:

if(isset($_POST['btn-unban_req']))
{   
    if($unban_sent == 0) //<- Now you are checking it here
    {
        //MY THIGNS HERE
        if($connection ->query($unbanquery) === TRUE) 
        {           
          //MY THIGNS HERE
            if ($connection->query($sentquery) === TRUE) 
            {
            } 
            else 
            {
                echo $connection->error;
            }
        }
        else
        {

        }
    }
    else  // AND I GET THIS ERROR EVEN IF IT STANDS 0 IN DATABASE
    {
        echo "Unban already sent!";
    }
}

You're using this code which is wrong.

$unban_sent = 0

$unban_sent = 0 means to assign 0 to $unban_sent


It should be:

$unban_sent == 0

$unban_sent == 0 means $unban_sent is equal to 0


== is for comparison , = is for assignment , and === is for identical or same type .

More information at http://php.net/manual/en/language.operators.comparison.php .

You are not comparing the values, this is assigning the values:

if($unban_sent = 0) // assigning values

This should be:

if($unban_sent == 0) // comparing values

Basic Example:

Lets say,

1 = 1 its assigning
1 == 1 its checking the condition will return TRUE.

For more help: PHP Comparison Operators

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM