vraagje php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thymen akker

thymen akker

24/05/2012 21:23:32
Quote Anchor link
Hallo,
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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 &euro; ".$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">&raquo;</font> <?=name($info['naam']);?></td>
 <td align="left" class="xtremetxt"><?=$info['titel'];?></td>

 <td align="left" class="xtremetxt"><FONT color="FF8F0E">&euro;</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">&raquo;</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">&raquo;</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">&raquo;</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
 
PHP hulp

PHP hulp

22/11/2024 10:36:02
 
Obelix Idefix

Obelix Idefix

24/05/2012 21:32:33
Quote Anchor link
Heb je wel een juiste action in je form staan?
 
Thymen akker

thymen akker

24/05/2012 21:33:45
Quote Anchor link
hoe bedoel je dat?
 
Andre Sep

Andre Sep

24/05/2012 21:49:58
Quote Anchor link
Volgens mij moet in beide gevallen de action "" / "self" zijn.

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)
PHP script in nieuw venster Selecteer het PHP script
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
<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...
Gewijzigd op 24/05/2012 21:54:17 door Andre Sep
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.