Ik heb deze script maar er zit een fout in.
Hij werkt goed maar hij rekent te veel van de speler de prijs is €2500,- maar zodra er iemand een kaartje koopt rekent hij alles uit zijn zak dus meer dan de prijs.


<?php 

  include("config.php");

$dbres			        = mysql_query("SELECT * FROM `lottery` WHERE `active`='1' ORDER BY `start` DESC LIMIT  0,1");
$lottery			= mysql_fetch_object($dbres);


?>
<html>
<head>
<title>Gangsterscity</title>
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="keywords" content="Gangsterscity,Crimegame,crimegame,Gangsterscity">
<meta name="language" content="english">
<META name="description" lang="nl" content="Gangsterscity crimegame met pit.">
</head>
<body>
<?php


        $_POST['amount']		= htmlspecialchars($_POST['amount']);

	if(isset($_POST['buy'],$_POST['amount'])) {
		if($_POST['amount'] <= 0 OR !preg_match('/^[0-9]{1,15}$/',$_POST['amount']))
		 echo "<tr><td class=maintxt width=90% align=center>Ongeldige invoer!</font></tr></td>";
		elseif($lottery->ticketprice*$_POST['amount'] > $data->zak)
		 echo "<tr><td class=maintxt width=90% align=center><font color=red><b>Je hebt te weinig geld.</b></font></tr></td>";
		elseif($lottery->active == 0)
		 echo "<font color=red>Er is geen actieve loterij!</font>";
		else {
			for($j=0; $j < $_POST['amount']; $j++) {
			 mysql_query("INSERT INTO `lottery-tickets`(`login`,`lotterynr`,`date`,`IP`) VALUES('{$data->login}','{$lottery->id}',NOW(),'$IP')");
			 mysql_query("UPDATE `lottery` SET `ticketssold`=`ticketssold`+1, `pot`=`pot`+$lottery->ticketprice WHERE `id`='{$lottery->id}'");
		 	}
			if($_POST['amount'] == 1)
			 echo "<tr><td class=maintxt width=90% align=center> Je hebt <b>1</b> lot gekocht.</tr></td>";
			else
			 echo "Je hebt <b>{$_POST['amount']}</b> loten gekocht";
			$data->zak		-= round($_POST['amount']*$lottery->ticketprice);
			$lottery->pot	+= round($_POST['amount']*$lottery->ticketprice);
			$lottery->ticketssold += $_POST['amount'];
			mysql_query("UPDATE `users` SET `zak`='zak' WHERE `login`='{$data->login}'");
		}
	}

$ticketssold		        = number_format($lottery->ticketssold,0);
$ticketprice		        = number_format($lottery->ticketprice,0);
$pot				= number_format($lottery->pot,0);

$dbres = mysql_query("SELECT * FROM `lottery` WHERE `active`='0' ORDER BY `start` DESC LIMIT  0,1");
$lw = mysql_fetch_object($dbres);

$lastwinner		= ($lw->winner == '') ? "Geen" : $lw->winner;

?>
<Br><Br>
       <table width="539" cellpadding'2' cellpading'1' align='center'>
  <tr>
    <td class="mainTxt" colspan="7"><b>Winnaar van de laatste loterij was:<font color=red> <?=$lastwinner;?> </b></td>
  </tr>
</table></td>
  </tr>
  
<table width='90%' cellpadding='2' cellspacing='1' align='center' >
  <tr>
    <td class="subtitle" colspan="7"><b>Gangsterscity loterij </b></td>
  </tr>
  <tr>
    <td class="subtitle"><b>Naam</b></td><td class="subtitle"><b>Prijs</b></td><td class="subtitle"><b>Verkocht</b></td><td class="subtitle"><b>Jackpot</b></td><td class="subtitle"><b>Eind datum:</b></td><td class="subtitle"><b>Aantal</b></td><td class="subtitle"><b>Koop loten!</b></td>
  </tr>
<?php
if($lottery->active == 1) {
?>
  <tr>
    <td class="MainTxt"><?=$lottery->name;?></td><td class="MainTxt">€<?=$ticketprice;?></td><td class="MainTxt"><?=$ticketssold;?></td><td class="Maintxt">€<?=$pot;?></td><td class="Maintxt">Zaterdag 22:00</td><form method="post"><td class="Maintxt"><input type="text" name="amount" size=6></td><td class="MainTxt"><input type="submit" name="buy" value="koop een lot !"></td></form>
  </tr>
<?php
} else
echo "<tr><td class=MainTxt colspan=7 align=center><b>Er is geen actieve loterij!</b></td></tr>\n"; 

$yourtickets		= "";
$dbres				= mysql_query("SELECT * FROM `lottery-tickets` WHERE `login`='{$data->login}' AND `lotterynr`='{$lottery->id}'");
while($yourticket = mysql_fetch_object($dbres)) {
	$yourtickets	.= "{$yourticket->id}, ";
}	
$yourtickets		= ($yourtickets == '') ? "Je hebt geen kaartjes!!" : $yourtickets;
$yourtickets		= (isset($_GET['show'])) ? $yourtickets : "<a href=\"lottery.php?show\">Klik hier je loten te bekijken</a>";
?>
</table><br>

<table width='90%' cellpadding='2' cellspacing='1' align='center' >
  <tr>
    <td class="subtitle"><b>Loten</b></td>
  </tr>
  <tr>
    <td class="MainTxt"><?=$yourtickets;?></td>
  </tr>
</table>
<table width=100%><tr><td class=Maintxt>
kan niemand mij helpen dan ik zoek zelf ook maar kan het probleem niet vinden denk zelf namelijk dat hij de SQL niet afsluit maarja waar het echt aan ligt weten misschien een van jullie het vast wel.
1 bumpen binnen 24 uur is niet toegestaan
2. Niemand gaat voor zijn plezier 100 regels lezen. Dus vertel wat voor fout je krijgt
3. Bumpen binnen 24 uur is niet toegestaan.
1. Mijn topic stond op rij nummer 4 dus ver verstopt.
2. De fout word in de topic uitgelegt.
3. Mijn excuus voor die topic reactie.
Tevens is dit een Criminals reactie welke alleen behandeld word als het specifiek word gevraagd en dan met 3-10 regels code. Snel aanpassen dus... Of anders word je topic gelocked gok ik...
@eris, wat is 'bumpen'?

xq's newbie online...
Jos
Offtopic: Er staan 100 regels brakke code, waarvan er slechts een stuk of 10 betrekking hebben op het rekenwerk. Wat doet die overige zooi dan in dit topic? Helemaal niets, het zorgt er alleen voor dat niemand in deze puinzooi duikt.

Tip: Ga je code opschonen, doe eens wat aan foutafhandeling (is de basis van ieder goed systeem) en kom dan nog eens terug.

Maar wanneer je de boel hebt opgeschoond, zie je de fout waarschijnlijk zelf ook wel. Duidelijke code maakt debuggen namelijk een heel stuk eenvoudiger.
hij kan gewoon beter naar zon criminals hulp site gaan. Daar zijn ze gespecialiseerd in brakker scripts. www.criminalsfanaat.nl is er zo 1

Reageren