Fout controle werkt niet
Ook al vul ik geen waardes is, toch wordt de foutmedling niet actief, en worden er lege gegevens in de db toegevoegd.
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
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
<?php
include ('config.php');
include ('header.php');
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="49"><img src="images/lmc.gif" width="49" height="36"></td>
<td valign="top" background="images/mcbg.gif" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="9"></td>
</tr>
<tr>
<td><div align="center" class="menuhead"> Aanmelden</div></td>
</tr>
</table></td>
<td width="49"><img src="images/rmc.gif" width="49" height="36"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="20" bgcolor="#5C5E4F" class="sideborders">
<table width="100%" border="0" cellspacing="0" cellpadding="3" height="190">
<tr>
<td height="184" valign="top" align="center">
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$voornaam= htmlspecialchars($_POST['voornaam']);
$naam= htmlspecialchars($_POST['naam']);
$email= htmlspecialchars($_POST['email']);
$gebdat= htmlspecialchars($_POST['gebdat']);
$land= htmlspecialchars($_POST['land']);
$username= htmlspecialchars($_POST['username']);
$userid= htmlspecialchars($_POST['userid']);
$error = NULL;
if (!isset($voornaam)) {
$error .= " Gelieve een correcte voornaam in te vullen.<br><br> ";
}
if (!isset($naam)) {
$error .= " Gelieve een correcte achteraam in te vullen.<br><br> ";
}
if (!isset($email)) {
$error .= " Gelieve een correct emailadres in te vullen.<br><br> ";
}
if (!isset($gebdat)) {
$error .= " Gelieve een correcte geboortedatum in te vullen.<br><br> ";
}
if (!isset($land)) {
$error .= " Gelieve een correct land te selecteren.<br><br> ";
}
if (!isset($username)) {
$error .= " Gelieve een correcte username in te vullen.<br><br> ";
}
if (!isset($userid)) {
$error .= " Gelieve een correct userid in te vullen.<br><br> ";
}
if (!empty($error)) {
echo $error ;
}
else {
$sql = "INSERT INTO aanmelding (naam, voornaam, email, gebdat, land, username, userid) VALUES ('".$naam."', '".$voornaam."', '".$email."', '".$gebdat."', '".$land."', '".$username."', '".$userid."')";
$query = mysql_query($sql);
echo "Beste $voornaam $naam <br> U bent succesvol aangemeld. <br> Wij zullen uw aanvraag zo snel spoedig mogelijk verwerken. <br> Het *=LP=* team! ";
}
}
else {
?>
<table border="0" align="center" class="hyperlinks">
<tr>
<td align="center">
</td>
</tr>
</table>
<form method="POST" name="submit" action="aanmelden.php">
<table cellspacing="0" cellpadding="4" align="center" width="90%" class="hyperlinks">
<tr>
<td colspan="2" bgcolor="#4F5143" align="left" style='border: solid 1px #383A2E; border-right: solid 1px #383A2E'><b>Persoonlijke Gegevens:</b></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Voornaam:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="voornaam"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Achternaam:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="naam"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Email:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="email"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Geboortedatum:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="gebdat"></td>
</tr>
<tr>
<td valign="top" align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Land:</b></td>
<td valign="top" align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="radio" name="land" value="Belgi"> Belgi<br><input type="radio" name="land" value="Nederland"> Nederland<br></td>
</tr>
<tr>
<td colspan="2" bgcolor="#4F5143" align="left" style=' border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>America's Army Gegevens:</b></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>AA Usernaam:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="username"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>AA Userid:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="userid"> <font color="red" size="1"> Nr achter uw trackerprofiel link. Bv: http://aaotracker.com/usertracker.php?userid=<u>53159</u></td>
</tr>
<tr>
<td colspan="2" bgcolor="#4F5143" align="center" style=' border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><input type="submit" name="submit" value="Aanmelden"></td>
</tr>
</table>
</form>
<?php } ?>
</td>
</tr>
</table>
</td>
<tr>
<td background="images/crbg.gif" height="36" class="sideborders"><div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="2"></td>
</tr>
<tr>
<td><div align="center" class="menuhead"> Copyright 2006 @ Lost Platoon </div></td>
</tr>
</table>
<?php
include ('footer.php');
?>
include ('config.php');
include ('header.php');
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="49"><img src="images/lmc.gif" width="49" height="36"></td>
<td valign="top" background="images/mcbg.gif" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="9"></td>
</tr>
<tr>
<td><div align="center" class="menuhead"> Aanmelden</div></td>
</tr>
</table></td>
<td width="49"><img src="images/rmc.gif" width="49" height="36"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="20" bgcolor="#5C5E4F" class="sideborders">
<table width="100%" border="0" cellspacing="0" cellpadding="3" height="190">
<tr>
<td height="184" valign="top" align="center">
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$voornaam= htmlspecialchars($_POST['voornaam']);
$naam= htmlspecialchars($_POST['naam']);
$email= htmlspecialchars($_POST['email']);
$gebdat= htmlspecialchars($_POST['gebdat']);
$land= htmlspecialchars($_POST['land']);
$username= htmlspecialchars($_POST['username']);
$userid= htmlspecialchars($_POST['userid']);
$error = NULL;
if (!isset($voornaam)) {
$error .= " Gelieve een correcte voornaam in te vullen.<br><br> ";
}
if (!isset($naam)) {
$error .= " Gelieve een correcte achteraam in te vullen.<br><br> ";
}
if (!isset($email)) {
$error .= " Gelieve een correct emailadres in te vullen.<br><br> ";
}
if (!isset($gebdat)) {
$error .= " Gelieve een correcte geboortedatum in te vullen.<br><br> ";
}
if (!isset($land)) {
$error .= " Gelieve een correct land te selecteren.<br><br> ";
}
if (!isset($username)) {
$error .= " Gelieve een correcte username in te vullen.<br><br> ";
}
if (!isset($userid)) {
$error .= " Gelieve een correct userid in te vullen.<br><br> ";
}
if (!empty($error)) {
echo $error ;
}
else {
$sql = "INSERT INTO aanmelding (naam, voornaam, email, gebdat, land, username, userid) VALUES ('".$naam."', '".$voornaam."', '".$email."', '".$gebdat."', '".$land."', '".$username."', '".$userid."')";
$query = mysql_query($sql);
echo "Beste $voornaam $naam <br> U bent succesvol aangemeld. <br> Wij zullen uw aanvraag zo snel spoedig mogelijk verwerken. <br> Het *=LP=* team! ";
}
}
else {
?>
<table border="0" align="center" class="hyperlinks">
<tr>
<td align="center">
</td>
</tr>
</table>
<form method="POST" name="submit" action="aanmelden.php">
<table cellspacing="0" cellpadding="4" align="center" width="90%" class="hyperlinks">
<tr>
<td colspan="2" bgcolor="#4F5143" align="left" style='border: solid 1px #383A2E; border-right: solid 1px #383A2E'><b>Persoonlijke Gegevens:</b></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Voornaam:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="voornaam"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Achternaam:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="naam"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Email:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="email"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Geboortedatum:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="gebdat"></td>
</tr>
<tr>
<td valign="top" align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>Land:</b></td>
<td valign="top" align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="radio" name="land" value="Belgi"> Belgi<br><input type="radio" name="land" value="Nederland"> Nederland<br></td>
</tr>
<tr>
<td colspan="2" bgcolor="#4F5143" align="left" style=' border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>America's Army Gegevens:</b></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>AA Usernaam:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="username"></td>
</tr>
<tr>
<td align="left" width="20%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><b>AA Userid:</b></td>
<td align="left" width="80%" style='border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E; border-left: 0px'><input type="text" name="userid"> <font color="red" size="1"> Nr achter uw trackerprofiel link. Bv: http://aaotracker.com/usertracker.php?userid=<u>53159</u></td>
</tr>
<tr>
<td colspan="2" bgcolor="#4F5143" align="center" style=' border: solid 1px #383A2E; border-top: 0px; border-right: solid 1px #383A2E'><input type="submit" name="submit" value="Aanmelden"></td>
</tr>
</table>
</form>
<?php } ?>
</td>
</tr>
</table>
</td>
<tr>
<td background="images/crbg.gif" height="36" class="sideborders"><div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="2"></td>
</tr>
<tr>
<td><div align="center" class="menuhead"> Copyright 2006 @ Lost Platoon </div></td>
</tr>
</table>
<?php
include ('footer.php');
?>
Iemand een idee?
Groetjes
vervang isset eens door empty.
vervang !isset eens door empty
Bedankt.
Waar ligt dan eigenlijk het verschil?
en empty kijkt of de variabele leeg is.
Als een waarde bestaat, maar hij bevat 0, een lege string, of NULL (geloof ik) dan is hij dus wel gezet, maar leeg en DAT kun je dan met empty () controleren.
Isset kijkt of een var is geset, dus $variabele = ''; word dan door isset als TRUE terug gegeven..
empty kijkt dan of de var leeg is of niet. als ie dan niet is geset, is de var automatisch ook leeg. en dus FALSE..
Volgens mij zo, maar k weet nit zeker..
Edit:
Zie ook de reacties van Jan en Jordy :p
Zie ook de reacties van Jan en Jordy :p
Gewijzigd op 01/01/1970 01:00:00 door niek s
Ik heb een klein testje gemaakt waarbij ik steeds andere waardes invul om dan te kijken hoe de functies (isset() en empty()) reageren
Ik heb een voorbeeld voor je online gezet.
En hier is de 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
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
<?php
$var1 = FALSE;
echo "Var1 waarde: FALSE<br />";
if(isset($var1))
echo "Var1: <b>isset</b> geeft true<br />";
if(empty($var1))
echo "Var1: <i>empty</i> geeft true<br /><br />";
$var2 = NULL;
echo "Var1 waarde: NULL<br />";
if(isset($var2))
echo "Var2: <b>isset</b> geeft true<br />";
if(empty($var2))
echo "Var2: <i>empty</i> geeft true<br /><br />";
$var3 = 0;
echo "Var1 waarde: 0<br />";
if(isset($var3))
echo "Var3: <b>isset</b> geeft true<br />";
if(empty($var3))
echo "Var3: <i>empty</i> geeft true<br /><br />";
$var4 = "";
echo "Var1 waarde: \"\"<br />";
if(isset($var4))
echo "Var4: <b>isset</b> geeft true<br />";
if(empty($var4))
echo "Var4: <i>empty</i> geeft true<br /><br />";
$var5 = "string";
echo "Var1 waarde: \"string\"<br />";
if(isset($var5))
echo "Var5: <b>isset</b> geeft true<br />";
if(empty($var5))
echo "Var5: <i>empty</i> geeft true<br /><br />";
?>
$var1 = FALSE;
echo "Var1 waarde: FALSE<br />";
if(isset($var1))
echo "Var1: <b>isset</b> geeft true<br />";
if(empty($var1))
echo "Var1: <i>empty</i> geeft true<br /><br />";
$var2 = NULL;
echo "Var1 waarde: NULL<br />";
if(isset($var2))
echo "Var2: <b>isset</b> geeft true<br />";
if(empty($var2))
echo "Var2: <i>empty</i> geeft true<br /><br />";
$var3 = 0;
echo "Var1 waarde: 0<br />";
if(isset($var3))
echo "Var3: <b>isset</b> geeft true<br />";
if(empty($var3))
echo "Var3: <i>empty</i> geeft true<br /><br />";
$var4 = "";
echo "Var1 waarde: \"\"<br />";
if(isset($var4))
echo "Var4: <b>isset</b> geeft true<br />";
if(empty($var4))
echo "Var4: <i>empty</i> geeft true<br /><br />";
$var5 = "string";
echo "Var1 waarde: \"string\"<br />";
if(isset($var5))
echo "Var5: <b>isset</b> geeft true<br />";
if(empty($var5))
echo "Var5: <i>empty</i> geeft true<br /><br />";
?>
Edit:
NULL geeft een merkwaardige uitslag.
Gewijzigd op 01/01/1970 01:00:00 door Jelle -
dus:
if((isset($var)) && (empty($var)))
kun je gewoon vervangen door:
if(empty($var))
Beginnetje:
Dit absoluut ongeschikt voor een website die live is, maar het is een begin. De rest mag je zelf uitvogelen.
Gewijzigd op 01/01/1970 01:00:00 door Jelle -
jawel, bij een goede foutcontrole kan je query verkeerd gaan! Maar dan stopt je script, en zal het script niet verder gaan op gegevens waar niks van klopt, omdat je query niet lukte..
jordy:
Simuleer maar eens een gecrashte database of tabel door de databaseserver uit te zetten of de tabel te verwijderen. Knappe jongen als dan jouw query nog lukt...Maar als je een goede foutcontrole hebt dat kan je query toch niet verkeerd gaan......?...
kan ik evengoed dit
doen of geeft hij dan een fout als $_POST['var'] niet bestaat :) ?
Dan krijg je vanzelf antwoord op een hele hoop vragen.
Héhé :D heb het juist geprobeerd... resultaat is wel tof.. bespaart me een hoop typwerk :) . Het geeft helemaal geen fouten als je empty($_POST['var']) gebruikt. DUS... het is perfect vervangbaar en bespaart redelijk wat typwerk :) !