I don't know where the problem might be in my code, can someone help me?
In the form field, when I define the 'number' parameter, I want the value in the user_gold column to subtract the gold value that was entered, and the user_bank to add that value
Model
public static function updateDeposit($deposit)
{
// Check input value
if ($deposit > self::getUserGame()->user_gold) {
Session::add('feedback_negative', Text::get('FEEDBACK_BANK_VALUE_FAILED'));
} elseif ($deposit < 1) {
Session::add('feedback_negative', Text::get('FEEDBACK_BANK_VALUE_ZERO_OR_NEGATIVE_FAILED'));
} else {
$database = DatabaseFactory::getFactory()->getConnection();
$query = $database->prepare("UPDATE users_game
SET user_gold = (user_gold - :deposit), user_bank = (user_bank + :deposit)
WHERE user_id = :user_id");
$query->execute([
':user_gold' => $deposit,
':user_bank' => $deposit,
':user_id' => self::getUserGame()->user_id
]);
if ($query->rowCount() == 1) {
return true;
}
}
}
Controller
public function deposit()
{
BankModel::updateDeposit(Request::post('deposit'));
Redirect::to('bank');
}
HTML
<form method="post" action="<?php echo \App\Core\Config::get('URL'); ?>bank/deposit">
<label for="deposit">Kwota wpłacana do banku: </label>
<input type="text" name="deposit" id="deposit" min="0" max="<?= htmlentities($this->user_game->user_gold); ?>" />
<input type="submit" value='Wpłacam' />
</form>