HTML interesse |
|
Ik heb een form waarbij iemand een getal in kan typen.
Stel hij typt 100 in, dan moet er 20 in de database bij komen.
Ik gebruik daar voor deze code:
<?php
ob_start();
session_start();
include 'index2.php';
include 'config.php';
$aantal = $_POST['aantal'];
$aantal = str_replace("\\", "", $aantal); //verwijder alle \
$aantal = str_replace("<", "", $aantal); //verwijder alle <
$aantal = str_replace(">", "", $aantal); //verwijder alle >
$aantal = str_replace("(", "", $aantal); //verwijder alle (
$aantal = str_replace(")", "", $aantal); //verwijder alle )
$aantal = str_replace("[", "", $aantal); //verwijder alle [
$aantal = str_replace("]", "", $aantal); //verwijder alle ]
$aantal = str_replace(":", "", $aantal); //verwijder alle :
$aantal = str_replace("-", "", $aantal); //verwijder alle -
$beschikbaar1 = mysql_query("SELECT promo FROM users WHERE id='".$_SESSION['login']."'");
$beschikbaar2 = mysql_fetch_array($beschikbaar1);
if($beschikbaar2['promo']<10*$aantal)
{
echo "Helaas, je hebt niet genoeg promo's. Klik <a href=loterij.php>hier</a> om terug te gaan.";
}
else
{
echo "Je hebt succesvol het gewenst aantal loten gekocht.";
for($i=0;$i<$aantal;$i++)
{
$lot1 = mysql_query("SELECT loten FROM users WHERE id='".$_SESSION['login']."'");
$lot2 = mysql_fetch_array($lot1);
$lot = $lot2['loten']+1;
$query = mysql_query("UPDATE users SET loten='".$lot."' WHERE id='".$_SESSION['login']."'");
$user1 = mysql_query("SELECT name FROM users WHERE id='".$_SESSION['login']."'");
$user2 = mysql_fetch_array($user1);
mysql_query("INSERT INTO loterij (user) VALUES ('".$user2['name']."')");
mysql_query("UPDATE users SET promo=promo-10 WHERE id='".$_SESSION['login']."'");
mysql_query("INSERT INTO jackpot (bedrag) VALUES ($aantal/5)");
}
}
?>
<?php include 'index2.php'; include 'config.php'; $aantal = $_POST['aantal']; $aantal = str_replace("\\", "", $aantal); //verwijder alle \ $aantal = str_replace("<", "", $aantal); //verwijder alle < $aantal = str_replace(">", "", $aantal); //verwijder alle > $aantal = str_replace("(", "", $aantal); //verwijder alle ( $aantal = str_replace(")", "", $aantal); //verwijder alle ) $aantal = str_replace("[", "", $aantal); //verwijder alle [ $aantal = str_replace("]", "", $aantal); //verwijder alle ] $aantal = str_replace(":", "", $aantal); //verwijder alle : $aantal = str_replace("-", "", $aantal); //verwijder alle - $beschikbaar1 = mysql_query("SELECT promo FROM users WHERE id='".$_SESSION['login']."'"); $beschikbaar2 = mysql_fetch_array($beschikbaar1); if($beschikbaar2['promo']<10*$aantal) { echo "Helaas, je hebt niet genoeg promo's. Klik <a href=loterij.php>hier</a> om terug te gaan."; } else { echo "Je hebt succesvol het gewenst aantal loten gekocht."; for($i=0;$i<$aantal;$i++) { $lot1 = mysql_query("SELECT loten FROM users WHERE id='".$_SESSION['login']."'"); $lot2 = mysql_fetch_array($lot1); $lot = $lot2['loten']+1; $query = mysql_query("UPDATE users SET loten='".$lot."' WHERE id='".$_SESSION['login']."'"); $user1 = mysql_query("SELECT name FROM users WHERE id='".$_SESSION['login']."'"); $user2 = mysql_fetch_array($user1); mysql_query("INSERT INTO loterij (user) VALUES ('".$user2['name']."')"); mysql_query("UPDATE users SET promo=promo-10 WHERE id='".$_SESSION['login']."'"); mysql_query("INSERT INTO jackpot (bedrag) VALUES ($aantal/5)"); } } ?>
Maar er zit een rare bug in. Met grote getallen zoals 100 werkt het prima. Maar bijv. met 1 komt er geen 20% van het ingetypte getal meer bij. Maar gwn een ander raar getal.
Erg raar, want met grote getallen werkt het prima.
Het is dus de bedoeling dat er 20% van het ingetypte getal wordt ge-insert in de table jackpot. Het gaat om deze regel:
mysql_query("INSERT INTO jackpot (bedrag) VALUES ($aantal/5)");
Wie kan me helpen?
Alvast bedankt.
|