Registratieformulier fout weergegeven
Ik heb een registratieformulier gemaakt. Maar hij geeft hem niet goed weer.
Ik heb allemaal stukjes van verschillende tutorials/scripts bij elkaar gevoegd, maar hij geeft het aanmeldingsformulier niet goed weer.
Dit 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
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
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
<?php
include_once "functions.php";
connect();
if(!$_POST['submit']){
echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<form method=\"post\" action=\"register.php\">\n";
echo "<tr><td colspan=\"2\" align=\"center\">Registration Form</td></tr>\n";
echo "<tr><td>Voornaam</td></td input type=\"text\" name\"vnaam\"></td></tr>/n";
echo "<tr><td>Tussenvoegsel</td></td input type=\"text\" name\"tssv\"></td></tr>/n";
echo "<tr><td>Achternaam</td></td input type=\"text\" name\"anaam\"></td></tr>/n";
echo "<tr><td>E-mailadres</td></td input type=\"text\" name\"email\"></td></tr>/n";
echo "<tr><td>School</td></td input type=\"text\" name\"school\"></td></tr>/n";
echo "<tr><td>Eerste keuze</td></td input type=\"text\" name\"keuze1\"></td></tr>/n";
echo "<tr><td>Tweede keuze</td></td input type=\"text\" name\"keuze2\"></td></tr>/n";
echo "<tr><td>Eerste reservekeuze</td></td input type=\"text\" name\"reserve1\"></td></tr>/n";
echo "<tr><td>Tweede reservekeuze</td></td input type=\"text\" name\"reserve2\"></td></tr>/n";
echo "<tr><td>Derde reservekeuze</td></td input type=\"text\" name\"reserve3\"></td></tr>/n";
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Register\"></td></tr>/n";
echo "</form></table>/n";
}else {
$vnaam = protect($_POST['vnaam']);
$tssv = protect($_POST['tssv']);
$anaam = protect($_POST['anaam']);
$email = protect($_POST['email']);
$keuze1 = protect($_POST['keuze1']);
$keuze2 = protect($_POST['keuze2']);
$reserve1 = protect($_POST['reserve1']);
$reserve2 = protect($_POST['reserve2']);
$reserve3 = protect($_POST['reserve3']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
if(!$tssv) {
$errors[] = "Het veld tussenvoegsel is niet ingevuld.";
}
if(!$anaam) {
$errors[] = "Het veld achternaam is niet ingevuld.";
}
if(!$email) {
$errors[] = "Het veld e-mailadres is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if(!$keuze1) {
$errors[] = "Het veld keuze is niet ingevuld.";
}
if(!$keuze2) {
$errors[] = "Het veld keuze 2 is niet ingevuld.";
}
if(!$reserve1) {
$errors[] = "Het veld reserve 1 is niet ingevuld.";
}
if(!$reserve2) {
$errors[] = "Het veld reserve 2 is niet ingevuld.";
}
if(!$reserve3) {
$errors[] = "Het veld reserve 3 is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if($email){
$sql = "SELECT * FROM 'inschrijvingen' WHERE 'email'={$email}";
$res = mysql_query($sql2) or die(mysql_error());
if(mysql_num_rows($res) > 0){
$errors[] = "Er heeft zich al iemand opgegeven met dit e-mailadres";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "<br>\n";
}
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3')
VALUES ('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
}
?>
include_once "functions.php";
connect();
if(!$_POST['submit']){
echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<form method=\"post\" action=\"register.php\">\n";
echo "<tr><td colspan=\"2\" align=\"center\">Registration Form</td></tr>\n";
echo "<tr><td>Voornaam</td></td input type=\"text\" name\"vnaam\"></td></tr>/n";
echo "<tr><td>Tussenvoegsel</td></td input type=\"text\" name\"tssv\"></td></tr>/n";
echo "<tr><td>Achternaam</td></td input type=\"text\" name\"anaam\"></td></tr>/n";
echo "<tr><td>E-mailadres</td></td input type=\"text\" name\"email\"></td></tr>/n";
echo "<tr><td>School</td></td input type=\"text\" name\"school\"></td></tr>/n";
echo "<tr><td>Eerste keuze</td></td input type=\"text\" name\"keuze1\"></td></tr>/n";
echo "<tr><td>Tweede keuze</td></td input type=\"text\" name\"keuze2\"></td></tr>/n";
echo "<tr><td>Eerste reservekeuze</td></td input type=\"text\" name\"reserve1\"></td></tr>/n";
echo "<tr><td>Tweede reservekeuze</td></td input type=\"text\" name\"reserve2\"></td></tr>/n";
echo "<tr><td>Derde reservekeuze</td></td input type=\"text\" name\"reserve3\"></td></tr>/n";
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Register\"></td></tr>/n";
echo "</form></table>/n";
}else {
$vnaam = protect($_POST['vnaam']);
$tssv = protect($_POST['tssv']);
$anaam = protect($_POST['anaam']);
$email = protect($_POST['email']);
$keuze1 = protect($_POST['keuze1']);
$keuze2 = protect($_POST['keuze2']);
$reserve1 = protect($_POST['reserve1']);
$reserve2 = protect($_POST['reserve2']);
$reserve3 = protect($_POST['reserve3']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
if(!$tssv) {
$errors[] = "Het veld tussenvoegsel is niet ingevuld.";
}
if(!$anaam) {
$errors[] = "Het veld achternaam is niet ingevuld.";
}
if(!$email) {
$errors[] = "Het veld e-mailadres is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if(!$keuze1) {
$errors[] = "Het veld keuze is niet ingevuld.";
}
if(!$keuze2) {
$errors[] = "Het veld keuze 2 is niet ingevuld.";
}
if(!$reserve1) {
$errors[] = "Het veld reserve 1 is niet ingevuld.";
}
if(!$reserve2) {
$errors[] = "Het veld reserve 2 is niet ingevuld.";
}
if(!$reserve3) {
$errors[] = "Het veld reserve 3 is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if($email){
$sql = "SELECT * FROM 'inschrijvingen' WHERE 'email'={$email}";
$res = mysql_query($sql2) or die(mysql_error());
if(mysql_num_rows($res) > 0){
$errors[] = "Er heeft zich al iemand opgegeven met dit e-mailadres";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "<br>\n";
}
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3')
VALUES ('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
}
?>
Hij is te vinden op dit adres!
Met vriendelijke groet,
Dennis.
Het is er een beetje op vooruit gegaan. Heb nu deze 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
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
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
<?php
include_once "functions.php";
connect();
if(!$_POST['submit']){
echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<form method=\"post\" action=\"register.php\">\n";
echo "<tr><td colspan=\"2\" align=\"center\">Registration Form</td></tr>\n";
echo "<tr><td>Voornaam</td></td input type=\"text\" name=\"vnaam\"></td></tr>\n";
echo "<tr><td>Tussenvoegsel</td></td input type=\"text\" name=\"tssv\"></td></tr>\n";
echo "<tr><td>Achternaam</td></td input type=\"text\" name=\"anaam\"></td></tr>\n";
echo "<tr><td>E-mailadres</td></td input type=\"text\" name=\"email\"></td></tr>\n";
echo "<tr><td>School</td></td input type=\"text\" name=\"school\"></td></tr>\n";
echo "<tr><td>Eerste keuze</td></td input type=\"text\" name=\"keuze1\"></td></tr>\n";
echo "<tr><td>Tweede keuze</td></td input type=\"text\" name=\"keuze2\"></td></tr>\n";
echo "<tr><td>Eerste reservekeuze</td></td input type=\"text\" name=\"reserve1\"></td></tr>\n";
echo "<tr><td>Tweede reservekeuze</td></td input type=\"text\" name=\"reserve2\"></td></tr>\n";
echo "<tr><td>Derde reservekeuze</td></td input type=\"text\" name=\"reserve3\"></td></tr>\n";
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Register\"></td></tr>\n";
echo "</form></table>\n";
}else {
$vnaam = protect($_POST['vnaam']);
$tssv = protect($_POST['tssv']);
$anaam = protect($_POST['anaam']);
$email = protect($_POST['email']);
$keuze1 = protect($_POST['keuze1']);
$keuze2 = protect($_POST['keuze2']);
$reserve1 = protect($_POST['reserve1']);
$reserve2 = protect($_POST['reserve2']);
$reserve3 = protect($_POST['reserve3']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
if(!$tssv) {
$errors[] = "Het veld tussenvoegsel is niet ingevuld.";
}
if(!$anaam) {
$errors[] = "Het veld achternaam is niet ingevuld.";
}
if(!$email) {
$errors[] = "Het veld e-mailadres is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if(!$keuze1) {
$errors[] = "Het veld keuze is niet ingevuld.";
}
if(!$keuze2) {
$errors[] = "Het veld keuze 2 is niet ingevuld.";
}
if(!$reserve1) {
$errors[] = "Het veld reserve 1 is niet ingevuld.";
}
if(!$reserve2) {
$errors[] = "Het veld reserve 2 is niet ingevuld.";
}
if(!$reserve3) {
$errors[] = "Het veld reserve 3 is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if($email){
$sql = "SELECT * FROM 'inschrijvingen' WHERE 'email'={$email}";
$res = mysql_query($sql2) or die(mysql_error());
if(mysql_num_rows($res) > 0){
$errors[] = "Er heeft zich al iemand opgegeven met dit e-mailadres";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "<br>\n";
}
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3')
VALUES ('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
}
?>
include_once "functions.php";
connect();
if(!$_POST['submit']){
echo "<table border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n";
echo "<form method=\"post\" action=\"register.php\">\n";
echo "<tr><td colspan=\"2\" align=\"center\">Registration Form</td></tr>\n";
echo "<tr><td>Voornaam</td></td input type=\"text\" name=\"vnaam\"></td></tr>\n";
echo "<tr><td>Tussenvoegsel</td></td input type=\"text\" name=\"tssv\"></td></tr>\n";
echo "<tr><td>Achternaam</td></td input type=\"text\" name=\"anaam\"></td></tr>\n";
echo "<tr><td>E-mailadres</td></td input type=\"text\" name=\"email\"></td></tr>\n";
echo "<tr><td>School</td></td input type=\"text\" name=\"school\"></td></tr>\n";
echo "<tr><td>Eerste keuze</td></td input type=\"text\" name=\"keuze1\"></td></tr>\n";
echo "<tr><td>Tweede keuze</td></td input type=\"text\" name=\"keuze2\"></td></tr>\n";
echo "<tr><td>Eerste reservekeuze</td></td input type=\"text\" name=\"reserve1\"></td></tr>\n";
echo "<tr><td>Tweede reservekeuze</td></td input type=\"text\" name=\"reserve2\"></td></tr>\n";
echo "<tr><td>Derde reservekeuze</td></td input type=\"text\" name=\"reserve3\"></td></tr>\n";
echo "<tr><td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit\" value=\"Register\"></td></tr>\n";
echo "</form></table>\n";
}else {
$vnaam = protect($_POST['vnaam']);
$tssv = protect($_POST['tssv']);
$anaam = protect($_POST['anaam']);
$email = protect($_POST['email']);
$keuze1 = protect($_POST['keuze1']);
$keuze2 = protect($_POST['keuze2']);
$reserve1 = protect($_POST['reserve1']);
$reserve2 = protect($_POST['reserve2']);
$reserve3 = protect($_POST['reserve3']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
if(!$tssv) {
$errors[] = "Het veld tussenvoegsel is niet ingevuld.";
}
if(!$anaam) {
$errors[] = "Het veld achternaam is niet ingevuld.";
}
if(!$email) {
$errors[] = "Het veld e-mailadres is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if(!$keuze1) {
$errors[] = "Het veld keuze is niet ingevuld.";
}
if(!$keuze2) {
$errors[] = "Het veld keuze 2 is niet ingevuld.";
}
if(!$reserve1) {
$errors[] = "Het veld reserve 1 is niet ingevuld.";
}
if(!$reserve2) {
$errors[] = "Het veld reserve 2 is niet ingevuld.";
}
if(!$reserve3) {
$errors[] = "Het veld reserve 3 is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if($email){
$sql = "SELECT * FROM 'inschrijvingen' WHERE 'email'={$email}";
$res = mysql_query($sql2) or die(mysql_error());
if(mysql_num_rows($res) > 0){
$errors[] = "Er heeft zich al iemand opgegeven met dit e-mailadres";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "<br>\n";
}
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3')
VALUES ('vnaam','tssv','anaam','email','school','keuze1','keuze2',
'reserve1','reserve2','reserve3') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
}
?>
Helaas zijn er nog steeds geen invulvelden.
Met vriendelijke groet,
Dennis.
Gewijzigd op 01/01/1970 01:00:00 door Dennis Driessen
Volgens mij komt dat omdat je het <form> element gebruikt in een element dat puur alleen table-elementen kan bevatten.
<table>
<form>
<tr>
</tr>
</form>
</table>
Zou dus moeten worden:
<form>
<table>
<tr>
</tr>
</table>
</form>
Patrick Niezen
Dat bied helaas geen uitkomst. Ik heb dit geprobeerd om te draaien.
echo "<tr><td>Voornaam</td></td input type=\"text\" name=\"vnaam\"></td></tr>\n"
Het moet zijn:
Daarnaast moet, zoals Patrick al aangeeft, de table binnen de form staan. Dus: <form><table></table></form>. Check je website anders eens met de W3C validator, dan zie je precies wat er verkeerd staat. Het is erg handig om dit goed bij te houden, en alles volgens de 'regels' te schrijven. Dat voorkomt eeuwen zoeken in een grote lap code als er eens iets mis gaat.
Ook is deze opbouw wat onduidelijk. Je kunt je formulier beter apart houden van de verwerking. Voorbeeld van een opbouw:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
if ($_POST) {
// lees alle variabelen uit, ga na of er problemen zijn
if ($errors) {
// geef errors weer
} else {
// insert/update
}
}
echo '<form><table>etc</table></form>';
// lees alle variabelen uit, ga na of er problemen zijn
if ($errors) {
// geef errors weer
} else {
// insert/update
}
}
echo '<form><table>etc</table></form>';
Het voordeel hiervan is dat het veel duidelijker leesbaar is, en makkelijker na te zoeken wat waar staat.
Gewijzigd op 01/01/1970 01:00:00 door Veil
Dus bijv.
echo '<tr>Voornaam:<td></td>' etc. etc.
ja want het staat in je php code, anders word het niet afgedrukt
Het moet zijn: <tr><td>whatever</td><td><input /></td></tr>
Je hebt nu: <tr><td>whatever</td><td input... <- dit bestaat niet
Als je grote stukken html wil echo'en, is het ook makkelijker om een enkele quote ' te gebruiken ipv dubbel ". Dubbele quotes geven aan voor php dat er daarbinnen gezocht moet worden naar variabelen. Voor grote stukken html is dit meestal niet nodig, en het is erg vervelend om steeds de "-quotes in de html zelf te escapen. Dus bijvoorbeeld:
echo '<form method="post" action="whatever">';
In plaats van
echo "<form method=\"post\" ... etc
En als er wel een variabele in moet komen, gewoon de echo even onderbreken:
echo '<form method="post" action="index.php?pagina='.$pagina.'">';
Dat bleek idd de oplossing te zijn wat betreft de weergave.
Maar nu bij het ingeven van alle velden komt de error: Query was empty.
INSERT INTO inschrijvingen
(vnaam,tssv,etc)
VALUES
('$vnaam','$tssv',etc)
Ik weet niet wat je protect(); functie doet, maar let erop dat je quotes escaped dmv mysql_escape_string();
Ze stonden zo in een tutorial. Die kunnen er dus uit begrijp ik?
EDIT:
=====
Dit is overigens mijn code op het moment.
Ik hoop dat hij gaat werken, ik moet ook nog een veld met radiobuttons en checkboxes maken dusja.
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
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
<?php
include_once "functions.php";
connect();
if(!$_POST['submit']){
echo '<table border="0" cellspacing="3" cellpadding="3">';
echo '<form method="post" action="register.php">';
echo '<tr><td colspan="2" align="center">Registration Form</td></tr>';
echo '<tr><td>Voornaam</td><td><input type="text" name="vnaam"></td></tr>';
echo '<tr><td>Tussenvoegsel</td><td><input type="text" name="tssv"></td></tr>';
echo '<tr><td>Achternaam</td><td><input type="text" name="anaam"></td></tr>';
echo '<tr><td>E-mailadres</td><td><input type="text" name="email"></td></tr>';
echo '<tr><td>School</td><td><input type="text" name="school"></td></tr>';
echo '<tr><td colspan="2" align="center"><input type="submit" name="submit" value="Register"></td></tr>';
echo '</form></table>';
}else {
$vnaam = protect($_POST['vnaam']);
$tssv = protect($_POST['tssv']);
$anaam = protect($_POST['anaam']);
$email = protect($_POST['email']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
if(!$tssv) {
$errors[] = "Het veld tussenvoegsel is niet ingevuld.";
}
if(!$anaam) {
$errors[] = "Het veld achternaam is niet ingevuld.";
}
if(!$email) {
$errors[] = "Het veld e-mailadres is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if($email){
$sql = "SELECT * FROM 'inschrijvingen' WHERE 'email'={$email}";
$res = mysql_query($sql2) or die(mysql_error());
if(mysql_num_rows($res) > 0){
$errors[] = "Er heeft zich al iemand opgegeven met dit e-mailadres";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "<br>\n";
}
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school')
VALUES ('$vnaam','$tssv','$anaam','$email','$school') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
}
?>
include_once "functions.php";
connect();
if(!$_POST['submit']){
echo '<table border="0" cellspacing="3" cellpadding="3">';
echo '<form method="post" action="register.php">';
echo '<tr><td colspan="2" align="center">Registration Form</td></tr>';
echo '<tr><td>Voornaam</td><td><input type="text" name="vnaam"></td></tr>';
echo '<tr><td>Tussenvoegsel</td><td><input type="text" name="tssv"></td></tr>';
echo '<tr><td>Achternaam</td><td><input type="text" name="anaam"></td></tr>';
echo '<tr><td>E-mailadres</td><td><input type="text" name="email"></td></tr>';
echo '<tr><td>School</td><td><input type="text" name="school"></td></tr>';
echo '<tr><td colspan="2" align="center"><input type="submit" name="submit" value="Register"></td></tr>';
echo '</form></table>';
}else {
$vnaam = protect($_POST['vnaam']);
$tssv = protect($_POST['tssv']);
$anaam = protect($_POST['anaam']);
$email = protect($_POST['email']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
if(!$tssv) {
$errors[] = "Het veld tussenvoegsel is niet ingevuld.";
}
if(!$anaam) {
$errors[] = "Het veld achternaam is niet ingevuld.";
}
if(!$email) {
$errors[] = "Het veld e-mailadres is niet ingevuld.";
}
if(!$school) {
$errors[] = "Het veld school is niet ingevuld.";
}
if($email){
$sql = "SELECT * FROM 'inschrijvingen' WHERE 'email'={$email}";
$res = mysql_query($sql2) or die(mysql_error());
if(mysql_num_rows($res) > 0){
$errors[] = "Er heeft zich al iemand opgegeven met dit e-mailadres";
}
}
if(count($errors) > 0){
foreach($errors AS $error){
echo $error . "<br>\n";
}
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school')
VALUES ('$vnaam','$tssv','$anaam','$email','$school') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Dennis Driessen
Maar zodra je variabelen in de database zet, moet je de quotes in die variabelen escapen.
Als dit in een variabele $bla zit: "Ik zie twee auto's"
En je probeert die te inserten: ... VALUES ('$bla') ...
Dan komt ie de quote van "auto's" eerst tegen, en dan gaat het mis. Daarom moet je die escapen. Dit kan het beste met de standaard mysql_escape_string(); functie. Dus:
$naam = mysql_escape_string($_POST['naam']);
Maar als jouw functie protect(); zegt:
function protect ($var) {
return mysql_escape_string($var);
}
.. dan is dat ook prima. Het escapen hoeft verder pas zodra je deze in de query zet. Of in de query zelf:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
....
}else {
$vnaam = mysql_escape_string($_POST['vnaam']);
$tssv = mysql_escape_string($_POST['tssv']);
$anaam = mysql_escape_string($_POST['anaam']);
$email = mysql_escape_string($_POST['email']);
$school = mysql_escape_string($_POST['school']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
....
}else {
$vnaam = mysql_escape_string($_POST['vnaam']);
$tssv = mysql_escape_string($_POST['tssv']);
$anaam = mysql_escape_string($_POST['anaam']);
$email = mysql_escape_string($_POST['email']);
$school = mysql_escape_string($_POST['school']);
$errors = array();
if(!$vnaam) {
$errors[] = "Het veld voornaam is niet ingevuld.";
}
....
Maar dat werkt nog steeds niet. Ik ga even iets proberen in de code hieronder.
Denk dat ik je begrijp.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school')
VALUES ('$vnaam','$tssv','$anaam','$email','$school') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school')
VALUES ('$vnaam','$tssv','$anaam','$email','$school') ";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
EDIT:
========
Hmm.. tevergeefs had van de code hierboven het volgende gemaakt:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
}else {
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school')
VALUES ('".mysql_escape_string($vnaam)."'),('".mysql_escape_string($tssv)."'),('".mysql_escape_string($anaam)."'),('".mysql_escape_string($email)."'),('".mysql_escape_string($school)."')";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
$sql2 = "INSERT INTO 'inschrijvingen'
('vnaam','tssv','anaam','email','school')
VALUES ('".mysql_escape_string($vnaam)."'),('".mysql_escape_string($tssv)."'),('".mysql_escape_string($anaam)."'),('".mysql_escape_string($email)."'),('".mysql_escape_string($school)."')";
$res4 = mysql_query($sql2) or die (mysql_eror());
echo "Bedankt voor je aanmelding! Het aanmelden is succesvol voltooid.";
}
Maar dit gaf hetzelfde effect.
Gewijzigd op 01/01/1970 01:00:00 door Dennis Driessen