IF word niet uitgevoerd. Weet iemand waarom?
Nu wou ik er in bouwen dat als ze niet genoeg geld hebben op hun rekening, dat ze dan ook niets kunnen kopen.. :S Hij geeft de vars wel goed neer.
Het gaat om dit IFje onderaan: }elseif($tot > $geld){
Quote:
<link rel="stylesheet" href="../style.css" type="text/css">
<h1>Bix kopen</h1>
<p>
Instructies: Hier kun je de gegevens van de paarden wijzigen. Als je de eigenaar niet wilt wijzigen, kun je het laten zo als het is.
<p>
<hr>
<p>
<form method="get" action="bix_kopen2.php">
<table>
<tr>
<td><select name="voer_id" size="1" style="width: 145px;">
<option value=""> </option>
</select>
</td>
<td><input type="submit" value="Voer kiezen!" /></td>
</tr>
</table>
</form>
<form method="post" action="bix_kopen2.php?voer_id=">
<table>
<tr>
<td>Soort voer:</td>
<td></td>
</tr>
<tr>
<td>Prijs per kilogram:</td>
<td>€</td>
</tr>
<tr>
<td>Hoeveelheid:</td>
<td><input type=text name=aantal size=20></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="Kopen!" /></td>
</tr>
</table>
</form>
<link rel="stylesheet" href="../style.css" type="text/css">
<h1>Bix kopen</h1>
<p>
Instructies: Hier kun je de gegevens van de paarden wijzigen. Als je de eigenaar niet wilt wijzigen, kun je het laten zo als het is.
<p>
<hr>
<p>
<form method="get" action="bix_kopen2.php">
<table>
<tr>
<td><select name="voer_id" size="1" style="width: 145px;">
<option value=""> </option>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$sql = "SELECT id, voer_naam FROM voer ORDER BY voer_naam ASC";
$query = mysql_query($sql);
while($rij = mysql_fetch_object($query)){
$id = htmlspecialchars($rij->id);
$voer_naam = htmlspecialchars($rij->voer_naam);
echo "<option value=\"".$id."\">".$voer_naam."</option>\n";
}
?>
$sql = "SELECT id, voer_naam FROM voer ORDER BY voer_naam ASC";
$query = mysql_query($sql);
while($rij = mysql_fetch_object($query)){
$id = htmlspecialchars($rij->id);
$voer_naam = htmlspecialchars($rij->voer_naam);
echo "<option value=\"".$id."\">".$voer_naam."</option>\n";
}
?>
</td>
<td><input type="submit" value="Voer kiezen!" /></td>
</tr>
</table>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_GET['voer_id'])) {
if(is_numeric($_GET['voer_id'])) {
$voer_id = $_GET['voer_id'];
$sql = "SELECT * FROM voer WHERE id='$voer_id'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$voer_naam = htmlspecialchars($rij->voer_naam);
$voer_prijs = htmlspecialchars($rij->voer_prijs);
$voer_voorraad = htmlspecialchars($rij->voer_voorraad);
?>
if(isset($_GET['voer_id'])) {
if(is_numeric($_GET['voer_id'])) {
$voer_id = $_GET['voer_id'];
$sql = "SELECT * FROM voer WHERE id='$voer_id'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$voer_naam = htmlspecialchars($rij->voer_naam);
$voer_prijs = htmlspecialchars($rij->voer_prijs);
$voer_voorraad = htmlspecialchars($rij->voer_voorraad);
?>
<form method="post" action="bix_kopen2.php?voer_id=">
<table>
<tr>
<td>Soort voer:</td>
<td></td>
</tr>
<tr>
<td>Prijs per kilogram:</td>
<td>€</td>
</tr>
<tr>
<td>Hoeveelheid:</td>
<td><input type=text name=aantal size=20></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="Kopen!" /></td>
</tr>
</table>
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$user_id = $_SESSION['user_id'];
$sqlv = "SELECT * FROM gebruikers WHERE id='$user_id'";
$queryv = mysql_query($sqlv);
$rijv = mysql_fetch_object($queryv);
$geld = htmlspecialchars($rijv->geld);
$aantal = $_POST['aantal'];
if(isset($_POST[submit])){
$tot = $voer_prijs*$aantal;
if($_POST['aantal'] == ""){
echo "Je moet wel aangeven hoeveel kilogram bix je wil kopen!";
}elseif($tot > $geld){
mysql_query("UPDATE gebruikers SET $voer_naam=$voer_naam+'$aantal' WHERE id='$user_id'") or die(mysql_error());
mysql_query("UPDATE gebruikers SET geld=geld-'$tot' WHERE id='$user_id'") or die(mysql_error());
echo "Je hebt succesvol $aantal kilogram $voer_naam gekocht!";
}else{
echo "Je hebt niet genoeg geld!";
}
}
?>
$user_id = $_SESSION['user_id'];
$sqlv = "SELECT * FROM gebruikers WHERE id='$user_id'";
$queryv = mysql_query($sqlv);
$rijv = mysql_fetch_object($queryv);
$geld = htmlspecialchars($rijv->geld);
$aantal = $_POST['aantal'];
if(isset($_POST[submit])){
$tot = $voer_prijs*$aantal;
if($_POST['aantal'] == ""){
echo "Je moet wel aangeven hoeveel kilogram bix je wil kopen!";
}elseif($tot > $geld){
mysql_query("UPDATE gebruikers SET $voer_naam=$voer_naam+'$aantal' WHERE id='$user_id'") or die(mysql_error());
mysql_query("UPDATE gebruikers SET geld=geld-'$tot' WHERE id='$user_id'") or die(mysql_error());
echo "Je hebt succesvol $aantal kilogram $voer_naam gekocht!";
}else{
echo "Je hebt niet genoeg geld!";
}
}
?>
Gewijzigd op 12/01/2006 19:56:00 door Bernardo
if(empty($_POST['aantal'])){
echo 'Ongeldige waarde';
exit
}
if($tot > $geld){
blabla
}
Gebruik ook eens wat issets, om te kijken of er uberhoud een waarde is ingevuld. En beveilig je input want ik kan nu je hele database leeghalen (hint: mysql_real_escape_string).
sja .. ben net begonnen, weet nog niet zoveel van PHP..
kgaat proberen ..! alvast bedankt! :D
Code (php)
1
2
3
2
3
<?php
mysql_query("UPDATE gebruikers SET $voer_naam=$voer_naam+'$aantal' WHERE id='$user_id'") or die(mysql_error());
mysql_query("UPDATE gebruikers SET geld=geld-'$tot' WHERE id='$user_id'") ?>
mysql_query("UPDATE gebruikers SET $voer_naam=$voer_naam+'$aantal' WHERE id='$user_id'") or die(mysql_error());
mysql_query("UPDATE gebruikers SET geld=geld-'$tot' WHERE id='$user_id'") ?>
?>
Maak daar eens het volgende van:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
mysql_query("UPDATE gebruikers SET
voer_naam = voer_naam + $aantal,
geld = geld - $tot
WHERE id = $user_id") or die(mysql_error());
?>
mysql_query("UPDATE gebruikers SET
voer_naam = voer_naam + $aantal,
geld = geld - $tot
WHERE id = $user_id") or die(mysql_error());
?>
Overigens, het veld met de naam 'voer_naam' ophogen met een aantal?
Je zou de benaming van de velden eens na moeten lopen en ze goed benoemen.
En haal die variabelen buiten de quotes!
oké ... dus variabelen hoeven niet tussen ' te staan .... ok nouja .. ik zal het nu even proberen .. :D
Ok hij doet het nu! Bedankt.. en ik wist niet dat je de query's zo aan mekaar kon knopen .. :D