Database wil niet updaten...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lars Groot

Lars Groot

03/09/2010 21:11:42
Quote Anchor link
Beste,

Ik heb een probleem, dat de database niet word geupdate, als een veldnaam een spatie bevat.

Dit systeem is voor m'n tafeltennisvereniging.

In mijn database maak ik gebruik van namen (Jan Peter) met spaties.
Echter als ik de tabel dan update, word alles leeg.
Als ik de naam zo schrijf (JanPeter), dan word alles correct geupdate.

Weet iemand hoe dit komt?

Dit is het script:
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
<style type="text/css">
body{
font-family: Arial;
}
</style>
<?php
echo '<body>';

$server = "localhost";
$login = "login";
$password = "password";
$database = "db";
$con = mysql_connect($server, $login, $password);
mysql_select_db($database, $con);

$res_rega = mysql_query("SELECT * FROM regateams WHERE teamnaam='".strip_tags($_GET['name'])."'");
if(isset($_GET['name']) && mysql_num_rows($res_rega) == 1){
if(isset($_POST['submit'])){

// Regateam updaten
$wedstrijd1 = strip_tags($_POST['wedstrijd1|'.$_GET['name']]);
$wedstrijd2 = strip_tags($_POST['wedstrijd2|'.$_GET['name']]);
$wedstrijd3 = strip_tags($_POST['wedstrijd3|'.$_GET['name']]);
$wedstrijd4 = strip_tags($_POST['wedstrijd4|'.$_GET['name']]);
$wedstrijd5 = strip_tags($_POST['wedstrijd5|'.$_GET['name']]);
$wedstrijd6 = strip_tags($_POST['wedstrijd6|'.$_GET['name']]);
$wedstrijd7 = strip_tags($_POST['wedstrijd7|'.$_GET['name']]);
$wedstrijd8 = strip_tags($_POST['wedstrijd8|'.$_GET['name']]);
$wedstrijd9 = strip_tags($_POST['wedstrijd9|'.$_GET['name']]);
$wedstrijd10 = strip_tags($_POST['wedstrijd10|'.$_GET['name']]);

mysql_query("UPDATE regateams SET wedstrijd1='".$wedstrijd1."',
wedstrijd2='"
.$wedstrijd2."',
wedstrijd3='"
.$wedstrijd3."',
wedstrijd4='"
.$wedstrijd4."',
wedstrijd5='"
.$wedstrijd5."',
wedstrijd6='"
.$wedstrijd6."',
wedstrijd7='"
.$wedstrijd7."',
wedstrijd8='"
.$wedstrijd8."',
wedstrijd9='"
.$wedstrijd9."',
wedstrijd10='"
.$wedstrijd10."' WHERE teamnaam='".strip_tags($_GET['name'])."'") or die(mysql_error());

// Andere teams updaten
$res = mysql_query("SELECT * FROM andereteams WHERE regateam='".$_GET['name']."'");
while($sel = mysql_fetch_array($res)){
$wedstrijd1 = strip_tags($_POST['wedstrijd1|'.$sel['vereniging']]);
$wedstrijd2 = strip_tags($_POST['wedstrijd2|'.$sel['vereniging']]);
$wedstrijd3 = strip_tags($_POST['wedstrijd3|'.$sel['vereniging']]);
$wedstrijd4 = strip_tags($_POST['wedstrijd4|'.$sel['vereniging']]);
$wedstrijd5 = strip_tags($_POST['wedstrijd5|'.$sel['vereniging']]);
$wedstrijd6 = strip_tags($_POST['wedstrijd6|'.$sel['vereniging']]);
$wedstrijd7 = strip_tags($_POST['wedstrijd7|'.$sel['vereniging']]);
$wedstrijd8 = strip_tags($_POST['wedstrijd8|'.$sel['vereniging']]);
$wedstrijd9 = strip_tags($_POST['wedstrijd9|'.$sel['vereniging']]);
$wedstrijd10 = strip_tags($_POST['wedstrijd10|'.$sel['vereniging']]);

mysql_query("UPDATE andereteams SET wedstrijd1='".$wedstrijd1."',
wedstrijd2='"
.$wedstrijd2."',
wedstrijd3='"
.$wedstrijd3."',
wedstrijd4='"
.$wedstrijd4."',
wedstrijd5='"
.$wedstrijd5."',
wedstrijd6='"
.$wedstrijd6."',
wedstrijd7='"
.$wedstrijd7."',
wedstrijd8='"
.$wedstrijd8."',
wedstrijd9='"
.$wedstrijd9."',
wedstrijd10='"
.$wedstrijd10."' WHERE vereniging='".$sel['vereniging']."'") or die(mysql_error());
}


// Spelers updaten
$res = mysql_query("SELECT * FROM spelers WHERE regateam='".$_GET['name']."'");
while($sel = mysql_fetch_array($res)){
$wedstrijd1 = strip_tags($_POST['swedstrijd1|'.$sel['spelernaam']]);
$wedstrijd2 = strip_tags($_POST['swedstrijd2|'.$sel['spelernaam']]);
$wedstrijd3 = strip_tags($_POST['swedstrijd3|'.$sel['spelernaam']]);
$wedstrijd4 = strip_tags($_POST['swedstrijd4|'.$sel['spelernaam']]);
$wedstrijd5 = strip_tags($_POST['swedstrijd5|'.$sel['spelernaam']]);
$wedstrijd6 = strip_tags($_POST['swedstrijd6|'.$sel['spelernaam']]);
$wedstrijd7 = strip_tags($_POST['swedstrijd7|'.$sel['spelernaam']]);
$wedstrijd8 = strip_tags($_POST['swedstrijd8|'.$sel['spelernaam']]);
$wedstrijd9 = strip_tags($_POST['swedstrijd9|'.$sel['spelernaam']]);
$wedstrijd10 = strip_tags($_POST['swedstrijd10|'.$sel['spelernaam']]);

mysql_query("UPDATE spelers SET wedstrijd1='".$wedstrijd1."',
wedstrijd2='"
.$wedstrijd2."',
wedstrijd3='"
.$wedstrijd3."',
wedstrijd4='"
.$wedstrijd4."',
wedstrijd5='"
.$wedstrijd5."',
wedstrijd6='"
.$wedstrijd6."',
wedstrijd7='"
.$wedstrijd7."',
wedstrijd8='"
.$wedstrijd8."',
wedstrijd9='"
.$wedstrijd9."',
wedstrijd10='"
.$wedstrijd10."' WHERE spelernaam='".$sel['spelernaam']."'") or die(mysql_error());
}


echo '<font color="green"><b>'.$_GET['name'].' is met succes bewerkt.</b></font><br /><br /><a href="uitslagen.php?soort=jeugd">Bekijk het resultaat</a>';

}
else{
$sel_rega = mysql_fetch_array($res_rega);
echo '<h2>Wijzig '.$sel_rega['teamnaam'].'</h2>';
echo '<form method="post" action="edit_team.php?name='.strip_tags($_GET['name']).'">';
echo '<table width="70%" cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse" bordercolordark="#663300" bordercolorlight="#663300">';
echo '
<tr>
<td width="30%">&nbsp;&nbsp;Vereniging</td>
<td width="7%"><div align="center">1</div></td>
<td width="7%"><div align="center">2</div></td>
<td width="7%"><div align="center">3</div></td>
<td width="7%"><div align="center">4</div></td>
<td width="7%"><div align="center">5</div></td>
<td width="7%"><div align="center">6</div></td>
<td width="7%"><div align="center">7</div></td>
<td width="7%"><div align="center">8</div></td>
<td width="7%"><div align="center">9</div></td>
<td width="7%"><div align="center">10</div></td>
</tr>
<tr>
<td>&nbsp;&nbsp;<b>'
.$sel_rega['teamnaam'].'</b></td>
<td><div align="center"><input type="text" name="wedstrijd1|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd1'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd2|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd2'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd3|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd3'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd4|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd4'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd5|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd5'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd6|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd6'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd7|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd7'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd8|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd8'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd9|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd9'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd10|'
.$sel_rega['teamnaam'].'" value="'.$sel_rega['wedstrijd10'].'" size="2" /></div></td>
</tr>
'
;
$res_teams = mysql_query("SELECT * FROM andereteams WHERE regateam='".$sel_rega['teamnaam']."'");
while($sel_teams = mysql_fetch_array($res_teams)){
echo '
<tr>
<td>&nbsp;&nbsp;'
.$sel_teams['vereniging'].'</td>
<td><div align="center"><input type="text" name="wedstrijd1|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd1'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd2|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd2'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd3|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd3'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd4|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd4'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd5|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd5'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd6|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd6'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd7|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd7'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd8|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd8'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd9|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd9'].'" size="2" /></div></td>
<td><div align="center"><input type="text" name="wedstrijd10|'
.$sel_teams['vereniging'].'" value="'.$sel_teams['wedstrijd10'].'" size="2" /></div></td>
</tr>
'
;
}

echo '</table><br />';
$res = mysql_query("SELECT * FROM spelers WHERE regateam='".$sel_rega['teamnaam']."'");
echo '<table width="70%" cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse" bordercolordark="#663300" bordercolorlight="#663300">';
echo '
<tr>
<td width="30%">&nbsp;&nbsp;Speler</td>
<td width="7%"><div align="center">1</div></td>
<td width="7%"><div align="center">2</div></td>
<td width="7%"><div align="center">3</div></td>
<td width="7%"><div align="center">4</div></td>
<td width="7%"><div align="center">5</div></td>
<td width="7%"><div align="center">6</div></td>
<td width="7%"><div align="center">7</div></td>
<td width="7%"><div align="center">8</div></td>
<td width="7%"><div align="center">9</div></td>
<td width="7%"><div align="center">10</div></td>
</tr>'
;
while($sel = mysql_fetch_array($res)){
echo '
<tr>
<td width="30%">&nbsp;&nbsp;'
.$sel['spelernaam'].'</td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd1|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd1'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd2|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd2'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd3|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd3'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd4|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd4'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd5|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd5'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd6|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd6'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd7|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd7'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd8|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd8'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd9|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd9'].'" size="2" /></div></td>
<td width="7%"><div align="center"><input type="text" name="swedstrijd10|'
.$sel['spelernaam'].'" value="'.$sel['wedstrijd10'].'" size="2" /></div></td>
</tr>'
;
}

echo '</table><br /><input type="submit" name="submit" value="Bewerk" />';
}
}
else{
echo '<font color="red" size="+1"><i>Het teamnaam van Rega is niet meegegeven, dit team is niet gevonden, of er zijn meerdere teams met deze naam.</i></font>';
}

echo '</form>';
echo '</body>';
?>


Bedankt alvast,

Lars
 
PHP hulp

PHP hulp

28/03/2024 14:51:03
 
Pim -

Pim -

03/09/2010 21:22:32
Quote Anchor link
Wat voor type zijn de velden?

En probeer eens met arrays te werken, dan kan de code ruim 5x korter...
 
Lars Groot

Lars Groot

03/09/2010 21:25:56
Quote Anchor link
Alle hier aangegeven velden zijn varchar();.

Lars
 
TJVB tvb

TJVB tvb

03/09/2010 21:31:08
Quote Anchor link
Je mag ook geen veldnamen met een spatie hebben. De enige echte oplossing is om dat aan te passen. De rest zijn hoogstens lapmiddelen.
 
Lars Groot

Lars Groot

04/09/2010 08:06:04
Quote Anchor link
Nee, de veldnamen zijn allemaal zonder spaties, alleen de waardes erin zijn met spaties, de spelersnamen dus en de teamnamen.
Of bedoel je de form namen?

Naja, ik heb gewoon trim(); erop toegepast, en nu werkt het goed ;)

Lars
Gewijzigd op 04/09/2010 09:52:06 door Lars Groot
 
- SanThe -

- SanThe -

04/09/2010 14:08:27
Quote Anchor link
Script is lek => SQL-Injection.
 
Niek s

niek s

04/09/2010 14:28:53
Quote Anchor link
Lars Groot op 04/09/2010 08:06:04:
Naja, ik heb gewoon trim(); erop toegepast, en nu werkt het goed ;)


Goed dat het werkt, maar je moet jezelf afvragen of dat nou echt zo positief is. Ik denk dat je pas tevreden kan zijn als je ook snapt WAAROM het werkt namelijk ;-)
 

04/09/2010 18:58:37
Quote Anchor link
Bouw foutafhandeling in.
Strip_tags is geen mysql_real_escape_string.
Misschien is het slim om eerst een check te doen.
Controleren of een form gepost is doe je met if($_SERVER['REQUEST_METHOD'] == 'POST').
Namen van de parameters / variabelen / dingen in queries duiden op een verkeerd database model.
Gebruik geen die.
Selecteer wat je wilt hebben, gebruik niet *.
Spring netjes in.
Je overschrijft variabelen.
XSS.
Gebruik mysql_fetch_assoc.
Doe geen inline CSS.
Form's horen niet gestylt te worden in tabellen.
 



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.