Ik ben bezig met een bank script maar de controle op het maximum (capacity) werkt niet wanneer de gebruiker < dan het maximum capacity heeft.
Kortom; bij het storten op de bank met bv een max van 5000 capacity, en de gebruiker heeft bv. 4000 reeds op de bank staan --> dan kan de gebruiker oneindig storten de eerste keer. Wanneer het max overschreden is werkt de controle wel.
Wie kan mij helpen met deze controle goed te krijgen?
Code
//Withdraw or deposit
if (isset($_POST['withdraw']) OR isset($_POST['deposit'])) {
if (!isset($_POST['money'])) {
$error[] = 'Je hebt geen bedrag aangegeven';
}
elseif(!ctype_digit($_POST['money'])) {
$error[] = 'Het ingegeven bedrag is niet numeriek.';
}
// Extra check for php overflow error, so that +/- bug cant be abused
elseif (strlen($_POST['money']) > 20) {
$error[] = 'Het bedrag wat je hebt ingevoerd is abnormaal hoog!';
}
if (!isset($_POST['withdraw']) AND !isset($_POST['deposit'])) {
$error[] = 'Je hebt niet aangegeven of je geld wilt opnemen of storen!';
} else {
if (isset($_POST['withdraw'])) {
$result = $connection->query('SELECT bank FROM building_bank WHERE user_id = "' . $_SESSION['user_name'] . '"');
$row = $result->fetch_assoc();
if ($row['bank'] < $_POST['money']) {
$error[] = 'Je hebt niet genoeg op de bank staan!';
}
} else {
$result = $connection->query('SELECT cash FROM building_bank WHERE user_id = "' . $_SESSION['user_name'] . '"');
$row = $result->fetch_assoc();
if ($row['cash'] < $_POST['money']) {
$error[] = 'Het bedrag wat je hebt aangegeven heb je niet in cash.';
}
if ($_POST['deposit'] > $userBankData['max_capicity']) {
$error[] = 'Je hebt niet voldoende opslag om zoveel geld te storten.';
}
}
}
if (count($error) > 0) {
foreach ($error as $item) {
$form_error .= '- ' . $item . '<br />';
$form_error_modal_bank = "".$form_error."";
}
} else {
// We got a kom, now check if he won something...
$money = (int) $_POST['money'];
$WithOrDep = (isset($_POST['withdraw']) ? 1 : 2);
// User wants to withdraw money
if (isset($_POST['withdraw']) OR isset($_POST['deposit'])) {
if ($WithOrDep == 1) {
$connection->query('UPDATE building_bank SET cash = (cash + ' . $money . '), bank = (bank - ' . $money . ') WHERE user_id = "' . $_SESSION['user_name'] . '"');
$result_text_modal_bank = "Je hebt ".$money." opgenomen";
} else {
$connection->query('UPDATE building_bank SET cash = (cash - ' . $money . '), bank = (bank + ' . $money . ') WHERE user_id = "' . $_SESSION['user_name'] . '"');
$result_text_modal_bank = "Je hebt ".$money." gestort";
}
}
}
Toon Meer