In mijn kogelfabriek kunnen spelers zonder contant geld toch kogels kopen. Nou heb ik hier wel enkele controles voor ingevoerd maar deze blijken niet correct te werken.
Iemand enig idee wat ik hier fout doe? (en hoe ik dit script met controles wellicht korter kan maken?)
PHP
<?php
$genoegcash = round($aantal->prijs*$amount);
if($data->contant < $genoegcash) {
$error = 2;{}}{}
if (isset($_POST['buy'])) {
$amount = $_POST['amount'];
// Start Prevent illegal characters
if($amount == "" || $amount == "0"){
?>
<meta http-equiv="refresh" content="0" /></table><?php return;
$error = 2;{}}
if(! preg_match('/^[0-9]{0,15}$/',$amount)){
$error = 2;{}}{}
if(!preg_match('/^[0-9]{1,10}$/',$_POST['amount'])){
echo "<font color=red>* Ongeldig getal!</font></table>"; ?>
<meta http-equiv="refresh" content="0" />
<?php return; }
if($amount > $aantal->aantal) {
?>
<meta http-equiv="refresh" content="0" /></table>
<?php return;
$error = 2;{}}
// End Prevent illegal characters
if($amount > 0) {
mysql_query("UPDATE `users` set `kogels`=`kogels`+'$amount', `contant`=`contant`-'$genoegcash' WHERE `login`='$data->login'");
mysql_query("UPDATE `users` set `bank`=`bank`+'$genoegcash' WHERE `login`='$aantal->eigenaar'");
mysql_query("UPDATE `kogelfabriek` set `aantal`=`aantal`-{$amount}, `winst`=`winst`+{$genoegcash} WHERE `stad`='$data->city'");
echo "Je hebt $amount kogels gekocht.";
} else {
echo "<font color=red>* Ongeldige Invoer!</font>";
}
}
}}
?>
Toon Meer