ik heb een fout in een automatische voorraad check script.
Als ik 2 de zelfde bestellingen plaats krijgen deze allebei de zelfde code ook als er maar 1 code in voorraad is.
ziet iemand hoe ik dit kunt oplossen?
PHP
<?php
$dbres = mysql_query("SELECT * FROM `orders` WHERE `verstuurd`='0' AND `ontvangen`='0'");
while($db = mysql_fetch_object($dbres)){
$codes = mysql_query("SELECT * FROM `voorraad` WHERE `beschikbaar`='1' and `kaart_id`='".mysql_real_escape_string($db->product_id)."' ORDER BY rand() LIMIT 1");
$retrou = mysql_fetch_object($codes);
$controlle = mysql_num_rows($codes);
if($controlle >= "1"){
mysql_query("UPDATE `orders` SET `kaart_code`='".mysql_real_escape_string($retrou->kaart_code)."' WHERE `id`='".mysql_real_escape_string($retrou->id)."'");
mysql_query("UPDATE `orders` SET `ontvangen`='1' WHERE `klant_naam`='".mysql_real_escape_string($db->klant_naam)."' AND `id`='".mysql_real_escape_string($db->id)."'");
mysql_query("UPDATE `voorraad` SET `beschikbaar`='0' WHERE `id`='".mysql_real_escape_string($retrou->id)."'");
mysql_query("UPDATE `voorraad` SET `product_gekocht_door`='".mysql_real_escape_string($db->klant_naam)."' WHERE `id`='".mysql_real_escape_string($retrou->id)."'");
$naar = $db->klant_email;
$titel = "Product code : ".$db->product_naam." GameCard winkel";
$bericht = "
Hallo ".$dba->klant_naam." Uw bestelling is verwerkt.
U kunt de code bekijken op de website : http://www.crime-ware.nl/gamecards/index.php
Als u nog vragen heeft horen wij dit graag u kunt dan contact opnemen met de klantenservice.
Let op ! Als een code niet werkt stuur dan de code en uw unieke transactie id naar ons terug;
Stuur in de e-mail zoveel mogelijk bewijs mee error codes of een foto.
Bedankt voor uw bestelling en tot de volgende keer.
met vriendelijke groet team crime-ware.nl";
$headers = "From: <[email protected]>";
@mail($naar,$titel,$bericht,$headers);
mysql_query("UPDATE `orders` SET `verstuurd`='1' WHERE `klant_naam`='".mysql_real_escape_string($db->klant_naam)."' AND `id`='".mysql_real_escape_string($db->id)."'");
}else{
}
}
?>
Toon Meer
Ik weet dat het script nog niet veilig en netjes is dit komt omdat ik eerst altijd het script test voor ik het veilig maakt.
alvast bedankt.
Het is me gelukt ik had een fout gemaakt met de IDS.