Pakt maar 1 id
ik maak op dit moment een bieding script, maar er gaat iets mis.
als ik een aantal biedingen heb staan, wil ik bijvoorbeeld bieden op de 1e vakantie, maar hij geeft dan altijd weer dat het bod hoger moet zijn als het bestaande bod, maar dat is hij dan wel..
als ik de 2e vakantie wil bieden, doet hij het wel? Waar ligt dit aan?
Hier mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
include 'config.php';
if(isset($_POST['submit']))
{
$id = $_POST['id'];
$qu = "SELECT * FROM veiling WHERE veiling_id=$id";
$res = mysql_query($qu) or die (mysql_error());
while($ro = mysql_fetch_assoc($res))
{
$oudBod = $ro['bod'];
}
$bod = $_POST['bod'];
if($bod <= $oudBod)
{
echo "Het bod moet hoger zijn als het bestaande bod.";
}
else
{
$q = "UPDATE veiling
SET bod=$bod
WHERE veiling_id=$id";
$r = mysql_query($q) or die (mysql_error());
echo "Uw bod is toegevoegd.";
}
}
else
{
$query = "SELECT * FROM veiling";
$result = mysql_query($query) or die (mysql_error());
echo "<table>";
echo "<form method='post' action='veiling.php'>";
while($row = mysql_fetch_assoc($result))
{
echo "<tr><td><input type='hidden' name='id' value='".$row['veiling_id']."'/></td></tr>";
echo "<tr><td>Naam: <b>".$row['naam']."</b></td><td>Huidige bod:</td></tr>";
echo "<tr><td>Locatie: <b>".$row['locatie']."</b></td><td><u><b>€ ".$row['bod'].",-</b></u></td></tr>";
echo "<tr><td>Overige informatie:</td><td>Uw bod: <input type='text' name='bod' style='width:50px;'/></td><td><input type='submit' name='submit' value='Bied'</td></tr>";
echo "<tr><td><textarea style='width:380; height:100px; margin-top:10px;'>".$row['informatie']."</textarea></td></tr>";
echo "<tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>";
}
echo "</form>";
echo "</table>";
}
?>
include 'config.php';
if(isset($_POST['submit']))
{
$id = $_POST['id'];
$qu = "SELECT * FROM veiling WHERE veiling_id=$id";
$res = mysql_query($qu) or die (mysql_error());
while($ro = mysql_fetch_assoc($res))
{
$oudBod = $ro['bod'];
}
$bod = $_POST['bod'];
if($bod <= $oudBod)
{
echo "Het bod moet hoger zijn als het bestaande bod.";
}
else
{
$q = "UPDATE veiling
SET bod=$bod
WHERE veiling_id=$id";
$r = mysql_query($q) or die (mysql_error());
echo "Uw bod is toegevoegd.";
}
}
else
{
$query = "SELECT * FROM veiling";
$result = mysql_query($query) or die (mysql_error());
echo "<table>";
echo "<form method='post' action='veiling.php'>";
while($row = mysql_fetch_assoc($result))
{
echo "<tr><td><input type='hidden' name='id' value='".$row['veiling_id']."'/></td></tr>";
echo "<tr><td>Naam: <b>".$row['naam']."</b></td><td>Huidige bod:</td></tr>";
echo "<tr><td>Locatie: <b>".$row['locatie']."</b></td><td><u><b>€ ".$row['bod'].",-</b></u></td></tr>";
echo "<tr><td>Overige informatie:</td><td>Uw bod: <input type='text' name='bod' style='width:50px;'/></td><td><input type='submit' name='submit' value='Bied'</td></tr>";
echo "<tr><td><textarea style='width:380; height:100px; margin-top:10px;'>".$row['informatie']."</textarea></td></tr>";
echo "<tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr><tr><td></td></tr>";
}
echo "</form>";
echo "</table>";
}
?>
Toevoeging op 03/10/2012 22:36:08:
als ik btw bij de 1e vakantie bied krijg ik dit in de url (heb bij mij even op get gezet):
http://localhost/veiling/veiling.php?id=10&bod=20&submit=Bied&id=11&bod=
en bij de 2e vakantie (die wel werkt) krijg ik dit:
http://localhost/veiling/veiling.php?id=10&bod=&id=11&bod=100&submit=Bied
Maar waar komen al die 'bod' vandaan etc?
Gewijzigd op 03/10/2012 22:45:05 door - SanThe -
Toevoeging op 03/10/2012 22:46:09:
Edit: Van welke moet ik een array maken? want $row is toch juist een array, en dan haal ik het met $row['naam']; etc op
Toevoeging op 03/10/2012 22:59:36:
Als ik mijn query $qu echo, krijg ik in alle tijden het id van de 2e vakantie..
De 2 url's zijn niet gelijk aan elkaar.
Nee klopt, maar hoe krijg ik daar verandering in? ik kan het niet vinden hoe het komt..
- De foutafhandeling aller eerste. die() is niet de juiste manier of op queries te controleren
- Variabelen buiten quotes in je query's. Zorg dat de waarde ook tussen single-quotes staat.
- Er is SQL injection mogelijk.
- Je controleert verkeerd of een formulier is verstuurd. Die doe je door te kijken maar $_SERVER['REQUEST_METHOD']=="POST"
Toevoeging op 04/10/2012 13:40:51:
Wat kan de oplossing zijn?