Beste CP leden,
Sinds kort heb ik de T2KOnline source gedownload van criminalspoint.nl sindsdien ben ik aan de slag gegaan en kom tot mijn grote verbazing dat de bank.php niet goed werkt.
Als ik inlog krijg ik het geld te zien wat heb bijvoorbeeld: 50,000 staat op mijn bank en wordt ook weergeven op de homepage. Doe ik F5 dan update hij de bank en komt er een bedrag bijgeschreven 1,057 en nog een keertje 1,068. Dit is een grote bug omdat je dus telkens F5 kunt doen om aan je geld te komen.
Nu is mijn vraag weet iemand misschien het probleem?
PHP script bank.php
PHP
<?php
error_reporting(E_ALL);
include("./inc/config.inc.php");
logincheck();
mysql_query("UPDATE `[users]` SET `online`= NOW() WHERE `login`='".$_SESSION['login']."'");
$sqlData = mysql_query("SELECT * FROM `[users]` WHERE login='".$_SESSION['login']."'");
$data = mysql_fetch_assoc($sqlData);
?>
<title>Bank</title>
<link href="css-v1.css" rel="stylesheet" type="text/css">
<br />
<br />
<table align="center" width="382">
<td width="50%" align="center" valign="top">
<table align="center" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="subTitle" colspan="2">Bank</td>
</tr>
<tr>
<td class="mainTxt" width="281" align="left">Contant:</td>
<td class="mainTxt" width="321" align="right">€ <?php echo number_format($data['cash']); ?></td>
</tr>
<tr>
<td class="mainTxt" width="281" align="left">Bank:</td>
<td class="mainTxt" width="321" align="right">€ <?php echo number_format($data['bank']); ?></td>
</tr>
<tr>
<td class="mainTxt" width="281" align="left">Rente:</td>
<td class="mainTxt" width="321" align="right"><?php if($data['vipdagen'] > 0){ echo "3%"; } else { echo "1%"; } ?></td>
</tr>
<form method="post" action="bank.php">
<tr>
<td class="mainTxt" colspan="2" align="left">€
<input type="text" name="aantal" />
<input type="submit" name="storten" value="opzetten"/>
<input type="submit" name="afhalen" value="afhalen"></td>
</tr>
<?php
if(isset($_POST['afhalen']))
{
echo "<tr>
<td class=\"mainTxt\" align=\"left\" colspan=\"2\">";
$ip = $_SERVER['REMOTE_ADDR'];
$aantal = htmlspecialchars($_POST['aantal']);
$sqlData = mysql_query("SELECT * FROM `[users]` WHERE login='".$_SESSION['login']."'");
$data = mysql_fetch_assoc($sqlData);
$dataRows = mysql_num_rows($sqlData);
if(empty($aantal))
{
echo "Vul een aantal in!";
}
elseif(!is_numeric($aantal) || eregi("-", $aantal))
{
echo "Ongeldige invoer!";
}
elseif(strlen($aantal) > 11)
{
echo "Maximum aantal letters is 11!";
}
elseif($data['bank'] < $aantal)
{
echo "Je hebt niet zoveel geld op je bank!";
}
elseif($aantal > 20000000000)
{
echo "Maximum dat je af kan halen is 20.000.000.000!";
}
else
{
mysql_query("UPDATE `[users]` SET cash = cash + ".$aantal.", bank = bank - ".$aantal." WHERE login='".$_SESSION['login']."'");
mysql_query("INSERT INTO banklogs (gebruikersnaam, soort, afaantal, tijd, datum, ip) VALUES ('".$_SESSION['login']."', 'afhalen', '".$aantal."', '".date("H:i:s")."', '".date("Y-m-d")."', '".$ip."')");
echo "Je hebt €".$aantal.",- van je bank afgehaald!";
}
}
echo "</td></tr>";
if(isset($_POST['storten']))
{
echo "<tr>
<td class=\"mainTxt\" align=\"left\" colspan=\"2\">";
$ip = $_SERVER['REMOTE_ADDR'];
$aantal = htmlspecialchars($_POST['aantal']);
$intijd = time() - 60;
if($data['vip'] == 0 && $data['intijd'] >= $intijd)
{
echo "Je moet 60 seconden wachten!";
}
else
{
if(empty($aantal)) {
echo "Vul een aantal in!";
}
elseif (!is_numeric($aantal) || eregi("-", $aantal))
{
echo "Ongeldige invoer!";
}
elseif(strlen($aantal) > 11)
{
echo "Maximum aantal letters is 11!";
}
elseif($data['cash'] < $aantal)
{
echo "Je hebt niet zoveel geld cash!";
}
else
{
mysql_query("UPDATE `[users]` SET bank = bank + ".$aantal.", cash = cash - ".$aantal." WHERE login='".$_SESSION['login']."'");
echo "Je hebt €".$aantal.",- gestort!";
}
}
}
echo "</td></tr>";
?>
</table>
</table>
<br />
Toon Meer
Hoop dat iemand mij kan helpen.
Met vriendelijke groet,
Mitch