vraagje php
Ik heb hier een script (niet van mij) maar als ik op een submit button klik beberut er niets
geen fout etc
ik krijg wel dit in mijn adres balk:
streetrace.php?inzet=1000&titel=Go+STREETRACING&submit=Maak+aan + db update niet weet iemand wat het kan zijn?
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<?php /* ------------------------- */
include("config1.php");
if(! check_login()) {
header("Location: login.php");
exit;
}
// Algemene gegevens
$userQuery = mysql_query("SELECT * FROM `[users]` WHERE login='".$_SESSION['login']."'");
$data = mysql_fetch_assoc($userQuery);
mysql_query("UPDATE `[users]` SET online=NOW() WHERE login='".$data['login']."'");
$inbox = mysql_num_rows(mysql_query("SELECT id FROM `[messages]` WHERE `read`=0 AND `inbox`=1 AND `to`='".$data['login']."'"));
$online = mysql_num_rows(mysql_query("SELECT id FROM `[users]` WHERE UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`online`) < 300"));
/* ------------------------- */ ?>
<html>
<head>
<title></title>
</head>
<body>
<table width="780" align="center">
<tr>
<td class="xtremetitle">
<font color="999999">UndergroundWar</font> Streetrace HQ <font color="999999">|</font> Ingelogd als <?=$data['login']?>
</td>
</tr>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// 1 is aan 0 is uit
echo '<tr><td align="center" class="xtremetxt" colspan="5">';
if(isset($_POST['streetrace']))
{
$id = addslashes($_POST['id']);
$query = mysql_query("SELECT * FROM streetrace WHERE id='". $id ."'") or die (mysql_error());
$fetch = mysql_fetch_assoc($query);
$checkIf = mysql_query("SELECT * FROM streetrace WHERE id='". $id ."'");
$rows = mysql_fetch_row($checkIf);
if(!is_numeric($id)) {
echo 'kies een Streetrace uit.';
}
elseif($data['login'] == $fetch['naam']) {
echo 'Je kan niet tegen jezelf racen.';
}
elseif($data['cash'] < $fetch['inzet']) {
echo 'Je hebt niet genoeg geld.';
}
elseif($rows == 0) {
echo 'Deze speler staat niet meer in de Streetrace List.';
}
else
{
$spelerinfo = mysql_query("SELECT racepower FROM `[users]` WHERE login='". $fetch['naam'] ."'");
$lijst = mysql_fetch_assoc($spelerinfo);
if($data['racepower'] > $lijst['racepower']) {
mysql_query("DELETE FROM streetrace WHERE id=". $id ."");
mysql_query("UPDATE `[users]` SET bank=`bank`+'". $fetch['inzet'] ."', racewon=`racewon`+'1' WHERE login='". $data['login'] ."'") or die (mysql_error());
mysql_query("UPDATE `[users]` SET racelost=`racelost`+'1' WHERE login='". $fetch['naam'] ."'") or die (mysql_error());
mysql_query("INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`subject`,`message`) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','UndergroundWar','".$fetch['naam']."','Streetrace verloren','<a href=./info.php?racer=".$data['login'].">".$data['login']."</a> versloeg jouw genadeloos tijdens een moeilijke streetrace, neem je wraak of laat je het maar zitten? Ga meer trainen op het circuit van Nederland en zorg ervoor dat je nog meer racepower krijgt dan alle andere streetracers.')") or die (mysql_error());
echo 'Proficiat je hebt gewonnen van '. $fetch['naam'] .', je krijgt '. $fetch['inzet'] .' euro.';
}
else
{
mysql_query("DELETE FROM streetrace WHERE id=". $id ."");
mysql_query("UPDATE `[users]` SET bank=`bank`+'". $fetch['inzet'] ."', racewon=`racewon`+'1' WHERE login='". $fetch['naam'] ."'") or die (mysql_error());
mysql_query("UPDATE `[users]` SET cash=`cash`-'". $fetch['inzet'] ."', racelost=`racelost`+'1' WHERE login='". $data['login'] ."'") or die (mysql_error());
mysql_query("INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`subject`,`message`) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','UndergroundWar','".$fetch['naam']."','Streetrace gewonnen','<a href=./info.php?racer=".$data['login'].">".$data['login']."</a> had je uitdaging voor een straatrace aangenomen, maar na een keiharde race bleek jij de beste te zijn. Je hebt € ".$fetch['inzet']." gewonnen. Pas op, want over een tijdje kan je wel worden verslagen dus ga altijd wel eens trainen op het circuit van Nederland.')") or die (mysql_error());
echo 'Verloren, '. $fetch['naam'] .' was te snel voor jouw in deze streetrace!';
}
}
}
echo '</td></tr>';
$Streetracers = mysql_query("SELECT id, naam, inzet, titel FROM streetrace");
$count = 0;
while($info = mysql_fetch_assoc($Streetracers)) {
?>
<tr>
<td align="left" class="xtremetxt"><input type="radio" name="id" value="<?=$info['id'];?>"></td>
<td align="left" class="xtremetxt"><FONT color="FF8F0E">»</font> <?=name($info['naam']);?></td>
<td align="left" class="xtremetxt"><?=$info['titel'];?></td>
<td align="left" class="xtremetxt"><FONT color="FF8F0E">€</font> <?=$info['inzet'];?></td>
</tr>
<?php
$count++;
}
if($count != "0"){
?>
<?php
}
else
{
?>
<tr>
<td align="center" class="xtremetxt" colspan="6">
Er zijn momenteel geen Racers die zin hebben in een StreetRace!
</td>
</tr>
<?php
}
?>
<tr>
<td align="center" class="xtremetxt" colspan="6">
<input type="submit" name="streetrace" value="Streetracen">
</td>
</tr>
<form />
</table>
<table width="780" align="center">
<tr><td class="xtremetitle" colspan="2"><font color="999999">UndergroundWar</font> Streetrace starten</td></tr>
<form method="post" action="yes">
<?php
if(!isset($_POST['submit'])) {
?>
<tr>
<td class="xtremetxt" width="50%"><FONT color="FF8F0E">»</font> Inzet:</td>
<td class="xtremetxt" width="50%"><input type="text" name="inzet" value="1000" maxlength="17"></td>
</tr>
<tr>
<td class="xtremetxt"><FONT color="FF8F0E">»</font> Info:</td>
<td class="xtremetxt"><input type="text" name="titel" value="Go STREETRACING" maxlength="20"></td>
</tr>
<tr>
<td class="xtremetxt"><FONT color="FF8F0E">»</font> racepower:</td>
<td class="xtremetxt"><?=$data['racepower'];?></td>
</tr>
<tr>
<td class="xtremetxt" align="center" colspan="2"><input type="submit" name="submit" value="Maak aan"></td>
</tr>
<?php
}
else
{
if(isset($_POST['yes']))
echo '<tr><td align="center" class="xtremetxt" colspan="2">';
$query = mysql_query("SELECT * FROM streetrace WHERE naam='". $data['login'] ."'");
$rows = mysql_num_rows($query);
if($rows == 1) {
echo 'Je hebt al een Streetrace aangemaakt. Je mag maar 1 max. op deze lijst hebben staan.';
}
elseif(!is_numeric($_POST['inzet'])) {
echo 'Je inzet mag enkel getallen van 0-9 bevatten.';
}
elseif($_POST['inzet'] < 100 || $_POST['inzet'] < 0) {
echo 'Je moet minimaal 100 euro inzetten.';
}
elseif(strlen($_POST['inzet']) > 14 || strlen($_POST['titel']) > 20) {
echo 'Je inzet mag max. 14 tekens bevatten en je titel 20 tekens.';
}
elseif($_POST['inzet'] > $data['cash']) {
echo 'Je hebt niet genoeg geld contant.';
}
else
{
$inzet = htmlentities(mysql_real_escape_string($_POST['inzet']));
$titel = htmlentities(mysql_real_escape_string($_POST['titel']));
mysql_query("UPDATE `[users]` SET cash=`cash`-". $inzet ." WHERE login='". $data['login'] ."'") or die (mysql_error());
mysql_query("INSERT INTO streetrace (naam, inzet, titel) VALUES ('". $data['login'] ."', '". $inzet ."', '". $titel ."')") or die (mysql_error());
echo 'Je hebt succesvol een Streetrace aangemaakt. Nu moet je wachten tot iemand de uitdaging aanneemt.';
echo '</td></tr>';
}
}
?>
</form>
</table>
</table>
</body>
</html>
include("config1.php");
if(! check_login()) {
header("Location: login.php");
exit;
}
// Algemene gegevens
$userQuery = mysql_query("SELECT * FROM `[users]` WHERE login='".$_SESSION['login']."'");
$data = mysql_fetch_assoc($userQuery);
mysql_query("UPDATE `[users]` SET online=NOW() WHERE login='".$data['login']."'");
$inbox = mysql_num_rows(mysql_query("SELECT id FROM `[messages]` WHERE `read`=0 AND `inbox`=1 AND `to`='".$data['login']."'"));
$online = mysql_num_rows(mysql_query("SELECT id FROM `[users]` WHERE UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(`online`) < 300"));
/* ------------------------- */ ?>
<html>
<head>
<title></title>
</head>
<body>
<table width="780" align="center">
<tr>
<td class="xtremetitle">
<font color="999999">UndergroundWar</font> Streetrace HQ <font color="999999">|</font> Ingelogd als <?=$data['login']?>
</td>
</tr>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
// 1 is aan 0 is uit
echo '<tr><td align="center" class="xtremetxt" colspan="5">';
if(isset($_POST['streetrace']))
{
$id = addslashes($_POST['id']);
$query = mysql_query("SELECT * FROM streetrace WHERE id='". $id ."'") or die (mysql_error());
$fetch = mysql_fetch_assoc($query);
$checkIf = mysql_query("SELECT * FROM streetrace WHERE id='". $id ."'");
$rows = mysql_fetch_row($checkIf);
if(!is_numeric($id)) {
echo 'kies een Streetrace uit.';
}
elseif($data['login'] == $fetch['naam']) {
echo 'Je kan niet tegen jezelf racen.';
}
elseif($data['cash'] < $fetch['inzet']) {
echo 'Je hebt niet genoeg geld.';
}
elseif($rows == 0) {
echo 'Deze speler staat niet meer in de Streetrace List.';
}
else
{
$spelerinfo = mysql_query("SELECT racepower FROM `[users]` WHERE login='". $fetch['naam'] ."'");
$lijst = mysql_fetch_assoc($spelerinfo);
if($data['racepower'] > $lijst['racepower']) {
mysql_query("DELETE FROM streetrace WHERE id=". $id ."");
mysql_query("UPDATE `[users]` SET bank=`bank`+'". $fetch['inzet'] ."', racewon=`racewon`+'1' WHERE login='". $data['login'] ."'") or die (mysql_error());
mysql_query("UPDATE `[users]` SET racelost=`racelost`+'1' WHERE login='". $fetch['naam'] ."'") or die (mysql_error());
mysql_query("INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`subject`,`message`) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','UndergroundWar','".$fetch['naam']."','Streetrace verloren','<a href=./info.php?racer=".$data['login'].">".$data['login']."</a> versloeg jouw genadeloos tijdens een moeilijke streetrace, neem je wraak of laat je het maar zitten? Ga meer trainen op het circuit van Nederland en zorg ervoor dat je nog meer racepower krijgt dan alle andere streetracers.')") or die (mysql_error());
echo 'Proficiat je hebt gewonnen van '. $fetch['naam'] .', je krijgt '. $fetch['inzet'] .' euro.';
}
else
{
mysql_query("DELETE FROM streetrace WHERE id=". $id ."");
mysql_query("UPDATE `[users]` SET bank=`bank`+'". $fetch['inzet'] ."', racewon=`racewon`+'1' WHERE login='". $fetch['naam'] ."'") or die (mysql_error());
mysql_query("UPDATE `[users]` SET cash=`cash`-'". $fetch['inzet'] ."', racelost=`racelost`+'1' WHERE login='". $data['login'] ."'") or die (mysql_error());
mysql_query("INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`subject`,`message`) values(NOW(),'".$_SERVER['REMOTE_ADDR']."','UndergroundWar','".$fetch['naam']."','Streetrace gewonnen','<a href=./info.php?racer=".$data['login'].">".$data['login']."</a> had je uitdaging voor een straatrace aangenomen, maar na een keiharde race bleek jij de beste te zijn. Je hebt € ".$fetch['inzet']." gewonnen. Pas op, want over een tijdje kan je wel worden verslagen dus ga altijd wel eens trainen op het circuit van Nederland.')") or die (mysql_error());
echo 'Verloren, '. $fetch['naam'] .' was te snel voor jouw in deze streetrace!';
}
}
}
echo '</td></tr>';
$Streetracers = mysql_query("SELECT id, naam, inzet, titel FROM streetrace");
$count = 0;
while($info = mysql_fetch_assoc($Streetracers)) {
?>
<tr>
<td align="left" class="xtremetxt"><input type="radio" name="id" value="<?=$info['id'];?>"></td>
<td align="left" class="xtremetxt"><FONT color="FF8F0E">»</font> <?=name($info['naam']);?></td>
<td align="left" class="xtremetxt"><?=$info['titel'];?></td>
<td align="left" class="xtremetxt"><FONT color="FF8F0E">€</font> <?=$info['inzet'];?></td>
</tr>
<?php
$count++;
}
if($count != "0"){
?>
<?php
}
else
{
?>
<tr>
<td align="center" class="xtremetxt" colspan="6">
Er zijn momenteel geen Racers die zin hebben in een StreetRace!
</td>
</tr>
<?php
}
?>
<tr>
<td align="center" class="xtremetxt" colspan="6">
<input type="submit" name="streetrace" value="Streetracen">
</td>
</tr>
<form />
</table>
<table width="780" align="center">
<tr><td class="xtremetitle" colspan="2"><font color="999999">UndergroundWar</font> Streetrace starten</td></tr>
<form method="post" action="yes">
<?php
if(!isset($_POST['submit'])) {
?>
<tr>
<td class="xtremetxt" width="50%"><FONT color="FF8F0E">»</font> Inzet:</td>
<td class="xtremetxt" width="50%"><input type="text" name="inzet" value="1000" maxlength="17"></td>
</tr>
<tr>
<td class="xtremetxt"><FONT color="FF8F0E">»</font> Info:</td>
<td class="xtremetxt"><input type="text" name="titel" value="Go STREETRACING" maxlength="20"></td>
</tr>
<tr>
<td class="xtremetxt"><FONT color="FF8F0E">»</font> racepower:</td>
<td class="xtremetxt"><?=$data['racepower'];?></td>
</tr>
<tr>
<td class="xtremetxt" align="center" colspan="2"><input type="submit" name="submit" value="Maak aan"></td>
</tr>
<?php
}
else
{
if(isset($_POST['yes']))
echo '<tr><td align="center" class="xtremetxt" colspan="2">';
$query = mysql_query("SELECT * FROM streetrace WHERE naam='". $data['login'] ."'");
$rows = mysql_num_rows($query);
if($rows == 1) {
echo 'Je hebt al een Streetrace aangemaakt. Je mag maar 1 max. op deze lijst hebben staan.';
}
elseif(!is_numeric($_POST['inzet'])) {
echo 'Je inzet mag enkel getallen van 0-9 bevatten.';
}
elseif($_POST['inzet'] < 100 || $_POST['inzet'] < 0) {
echo 'Je moet minimaal 100 euro inzetten.';
}
elseif(strlen($_POST['inzet']) > 14 || strlen($_POST['titel']) > 20) {
echo 'Je inzet mag max. 14 tekens bevatten en je titel 20 tekens.';
}
elseif($_POST['inzet'] > $data['cash']) {
echo 'Je hebt niet genoeg geld contant.';
}
else
{
$inzet = htmlentities(mysql_real_escape_string($_POST['inzet']));
$titel = htmlentities(mysql_real_escape_string($_POST['titel']));
mysql_query("UPDATE `[users]` SET cash=`cash`-". $inzet ." WHERE login='". $data['login'] ."'") or die (mysql_error());
mysql_query("INSERT INTO streetrace (naam, inzet, titel) VALUES ('". $data['login'] ."', '". $inzet ."', '". $titel ."')") or die (mysql_error());
echo 'Je hebt succesvol een Streetrace aangemaakt. Nu moet je wachten tot iemand de uitdaging aanneemt.';
echo '</td></tr>';
}
}
?>
</form>
</table>
</table>
</body>
</html>
Gewijzigd op 24/05/2012 21:24:23 door Thymen akker
Heb je wel een juiste action in je form staan?
hoe bedoel je dat?
Je handelt het formulier namelijk af in hetzelfde bestand. En in de action= definieer je welk bestand de afhandeling van het formulier doet, niet letterlijk welke actie hij 'doorgeeft'.
Om te controleren of het juiste formulier is gepost kan je je submit-knoppen verschillende waarden geven of een hidden-input aanmaken.
Je krijgt dan iets als dit:
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
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
<form method="post" action="self">
<!-- allerlei form inputs -->
<input type="submit" name="submit_form_1" value="Verzenden">
</form>
<?php
if( isset($_POST['submit_form_1']) ){
// afhandeling van het eerste formulier
// het tonen van het tweede formulier
?>
<form method="post" action="self">
<!-- allerlei form inputs -->
<!-- deze input hidden zorgt ervoor dat opnieuw het tweede formulier weer wordt getoond -->
<input type="hidden" name="submit_form_1" value="1">
<input type="submit" name="submit_form_2" value="Verzenden">
</form>
<?php
if( isset($_POST['submit_form_2']) ){
// afhandeling van het tweede formulier
}
}
[/code]
Heb het script heel globaal doorgelopen en er staan meer fouten in.
Je eerste formulier wordt nergens geopend (volgens mij) en in ieder geval niet correct afgesloten.
Op die manier heeft je eerste form geen action en kan er ook niks gebeuren...
<!-- allerlei form inputs -->
<input type="submit" name="submit_form_1" value="Verzenden">
</form>
<?php
if( isset($_POST['submit_form_1']) ){
// afhandeling van het eerste formulier
// het tonen van het tweede formulier
?>
<form method="post" action="self">
<!-- allerlei form inputs -->
<!-- deze input hidden zorgt ervoor dat opnieuw het tweede formulier weer wordt getoond -->
<input type="hidden" name="submit_form_1" value="1">
<input type="submit" name="submit_form_2" value="Verzenden">
</form>
<?php
if( isset($_POST['submit_form_2']) ){
// afhandeling van het tweede formulier
}
}
[/code]
Heb het script heel globaal doorgelopen en er staan meer fouten in.
Je eerste formulier wordt nergens geopend (volgens mij) en in ieder geval niet correct afgesloten.
Op die manier heeft je eerste form geen action en kan er ook niks gebeuren...
Gewijzigd op 24/05/2012 21:54:17 door Andre Sep