elseif ($ var = '0') не работает

1

Я пытаюсь внедрить банковскую систему на мой игровой проект. У меня проблема с elseif.

У меня есть этот код:

<?php
session_start();
include ('include/dbconnect.php');
$res = mysql_query("SELECT * FROM users WHERE user_id=".$_SESSION['user']);
$userRow = mysql_fetch_array($res);    
$in = $_POST['entrar'];
$pocketremain = ($userRow['money'] - $in);
$bankremain = ($userRow['bank'] + $in);

if ($in < $userRow['money']) {
    // QUERIES
    mysql_query("UPDATE users SET money ='".$pocketremain."'     WHERE user_id ='".$_SESSION['user']."'");
    mysql_query("UPDATE users SET bank ='".$bankremain."' WHERE     user_id ='".$_SESSION['user']."'");
    $string = "<br><font size='2'><font color='green'>SUCCESS !!    </font><br>You deposited $in$.<br>You now have $bankremain$ in the Bank<br>and     $pocketremain$ in your Pocket.</font>";
} elseif ($in <= '0') { // FIM DE QUERIES
    $string = "<br><font size='2'><font color='red'>FAIL !!</font>     <br>You cant deposit imaginary money!</font>";
} else {
    $string = "<br><font size='2'><font color='red'>FAIL !!</font>     <br>Your values are Wrong!</font>";
}   
?> 

Я все еще могу депоизировать нулевые деньги в банке. elseif должен указывать, что $string если 0 задано как значение. Если бы вы могли убить это для меня, я был бы признателен, я уже несколько часов пытаюсь обойти это.

Показать ещё 2 комментария
Теги:
if-statement

2 ответа

1

Используйте elseif ($ in <= '0') вместо elseif ($ in == '0')

Вы получаете сообщение об ошибке, поскольку в этом случае вы назначаете значение (0 в этом случае) в $ in, когда используете ($ in = '0'). Для сравнения вы должны использовать double ==.

== Будет проверять, равна ли $ val равным 0

<= Проверяет, равен ли значение $ val равным или меньше 0

= Будет присвоено значение 0 в val

0

Вам нужно добавить одно условие в оператор if. Ваш код должен быть

if ($in < $userRow['money'] && $in > 0) {
// QUERIES
                mysql_query("UPDATE users SET money ='".$pocketremain."'     WHERE user_id ='".$_SESSION['user']."'");
                mysql_query("UPDATE users SET bank ='".$bankremain."' WHERE     user_id ='".$_SESSION['user']."'");
                $string = "<br><font size='2'><font color='green'>SUCCESS !!    </font><br>You deposited $in$.<br>You now have $bankremain$ in the Bank<br>and     $pocketremain$ in your Pocket.</font>";
}
// FIM DE QUERIES
    elseif ($in <= '0') {
        $string = "<br><font size='2'><font color='red'>FAIL !!</font>     <br>You cant deposit imaginary money!</font>";
    }
    else {
        $string = "<br><font size='2'><font color='red'>FAIL !!</font>     <br>Your values are Wrong!</font>";
    }

Потому что, когда ваш $in равен 0 or less than 0 ваш первый if statement true, поэтому он не попал в ваш второй оператор elseif.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню