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.