User reg script, weg kwijt :)
Iemand enig idee waarom ie blanco slaat? niet gewoon een foutmelding?
Hoop dat iemand er naar kan kijken, bedankt
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
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
<?php
mysql_connect("mysql8.000webhost.com", "") or die(mysql_error());
mysql_select_db("a8378689_userreg") or die(mysql_error());
define('DEBUG_MODE', true); // Deze op false zetten als je klaar bent met het debuggen
//////////////////////////////////////////////
// This script validates the register form. //
//////////////////////////////////////////////
///////////////////////////////////////////////////////////////
// Functie om de lengte van een string te controleren (3-15) //
///////////////////////////////////////////////////////////////
function CheckStrlen($sValue) {
if(strlen($sValue) < 3 || strlen($sValue) > 35) {
return 1; // foute boel!!
} else {
return 0; // alles oké hier....
}
}
// Alle POST variabelen escapen
foreach ($_POST as $key => $value) {
$_POST[$key] = mysql_real_escape_string($value);
}
// Alle GET variabelen escapen
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}
if(isset($_GET['act'])) {
$sAction = $_GET['act'];
}
if(isset($sAction) && $sAction == 'register' && isset($_POST['submit'])) {
// De error variabele zetten
$aError = array();
$sName = $_POST['naam'];
$sPassword = $_POST['password'];
$sUsername = $_POST['username'];
$sRePassword = $_POST['repassword'];
$sWoonplaats = $_POST['woonplaats'];
$sEmail = $_POST['email'];
$sGender = isset($_POST['sex']);
$sReEmail = $_POST['reemail'];
$aStrlen['Name'] = CheckStrlen($sName);
$aStrlen['Username'] = CheckStrlen($sUsername);
$aStrlen['Password'] = CheckStrlen($sPassword);
$aStrlen['Woonplaats'] = CheckStrlen($sWoonplaats);
$aStrlen['RePassword'] = CheckStrlen($sRePassword);
$aStrlen['Woonplaats'] = CheckStrlen($sWoonplaats);
$aStrlen['Email'] = CheckStrlen($sEmail);
foreach($aStrlen as $key => $value) {
if($value == 1) {
echo $key . ' te kort of te lang, 3 - 35 char toegestaan. <br />';
$aError[$key] = 1;
}
}
if(empty($sGender)) {
echo 'Er is geen geslacht ingevuldt<br/>';
$aError['Gender'] = 1;
}
if($sReEmail != $sEmail) {
echo 'Emails matchen niet<br/>';
$aError['EMail'] = 1;
}
if ($sRePassword != $sPassword) {
echo 'Passwords matchen niet';
$aError['Password'] = 1;
}
/////////////////////////////////////////////
// Kijken of de username al in gebruik is. //
/////////////////////////////////////////////
$sSQL = "SELECT * FROM userreg WHERE username = '" . $sUsername . "'";
$rResult = mysql_query($sSQL);
if(!$rResult) {
if(DEBUG_MODE) {
echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
} else {
echo("Er ging iets fout met de query");
}
} else {
if(mysql_num_rows($rResult) > 0) {
echo 'Username is al in gebruik';
$aError['Username'] = 1;
}
}
/////////////////////////////////////////////////
// Kijken of het e-mail adres al in gebruik is //
/////////////////////////////////////////////////
$sSQL = "SELECT * FROM userreg WHERE email = '" . $sEmail . "'";
$rResult = mysql_query($sSQL);
if(!$rResult) {
if(DEBUG_MODE) {
echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
} else {
echo('Er ging iets fout met de query');
}
} else {
if(mysql_num_rows($res) > 0) {
echo 'Email is al geregistreerd';
$aError['Email'] = 1;
}
}
////////////////////////////////////
// Als er geen foutmeldingen zijn //
// de user opslaan in de DB //
////////////////////////////////////
if(!in_array('1', $aError)) {
$sPassword = md5($sPassword); // Het wachtwoord md5 encrypten
$sSQL = "INSERT INTO userreg (naam,
password,
username,
email,
woonplaats,
geslacht )
VALUES ('" . $sName . "',
'" . $sPassword . "',
'" . $sUsername . "',
'" . $sEmail . "',
'" . $sWoonplaats . "',
'" . $sGender . "')";
$rResult = mysql_query($sSQL);
if(!$rResult) {
if(DEBUG_MODE) {
echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
} else {
echo("Er ging iets fout met de query");
}
} else {
echo 'U kunt nu inloggen';
}
}
}
?>
mysql_connect("mysql8.000webhost.com", "") or die(mysql_error());
mysql_select_db("a8378689_userreg") or die(mysql_error());
define('DEBUG_MODE', true); // Deze op false zetten als je klaar bent met het debuggen
//////////////////////////////////////////////
// This script validates the register form. //
//////////////////////////////////////////////
///////////////////////////////////////////////////////////////
// Functie om de lengte van een string te controleren (3-15) //
///////////////////////////////////////////////////////////////
function CheckStrlen($sValue) {
if(strlen($sValue) < 3 || strlen($sValue) > 35) {
return 1; // foute boel!!
} else {
return 0; // alles oké hier....
}
}
// Alle POST variabelen escapen
foreach ($_POST as $key => $value) {
$_POST[$key] = mysql_real_escape_string($value);
}
// Alle GET variabelen escapen
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}
if(isset($_GET['act'])) {
$sAction = $_GET['act'];
}
if(isset($sAction) && $sAction == 'register' && isset($_POST['submit'])) {
// De error variabele zetten
$aError = array();
$sName = $_POST['naam'];
$sPassword = $_POST['password'];
$sUsername = $_POST['username'];
$sRePassword = $_POST['repassword'];
$sWoonplaats = $_POST['woonplaats'];
$sEmail = $_POST['email'];
$sGender = isset($_POST['sex']);
$sReEmail = $_POST['reemail'];
$aStrlen['Name'] = CheckStrlen($sName);
$aStrlen['Username'] = CheckStrlen($sUsername);
$aStrlen['Password'] = CheckStrlen($sPassword);
$aStrlen['Woonplaats'] = CheckStrlen($sWoonplaats);
$aStrlen['RePassword'] = CheckStrlen($sRePassword);
$aStrlen['Woonplaats'] = CheckStrlen($sWoonplaats);
$aStrlen['Email'] = CheckStrlen($sEmail);
foreach($aStrlen as $key => $value) {
if($value == 1) {
echo $key . ' te kort of te lang, 3 - 35 char toegestaan. <br />';
$aError[$key] = 1;
}
}
if(empty($sGender)) {
echo 'Er is geen geslacht ingevuldt<br/>';
$aError['Gender'] = 1;
}
if($sReEmail != $sEmail) {
echo 'Emails matchen niet<br/>';
$aError['EMail'] = 1;
}
if ($sRePassword != $sPassword) {
echo 'Passwords matchen niet';
$aError['Password'] = 1;
}
/////////////////////////////////////////////
// Kijken of de username al in gebruik is. //
/////////////////////////////////////////////
$sSQL = "SELECT * FROM userreg WHERE username = '" . $sUsername . "'";
$rResult = mysql_query($sSQL);
if(!$rResult) {
if(DEBUG_MODE) {
echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
} else {
echo("Er ging iets fout met de query");
}
} else {
if(mysql_num_rows($rResult) > 0) {
echo 'Username is al in gebruik';
$aError['Username'] = 1;
}
}
/////////////////////////////////////////////////
// Kijken of het e-mail adres al in gebruik is //
/////////////////////////////////////////////////
$sSQL = "SELECT * FROM userreg WHERE email = '" . $sEmail . "'";
$rResult = mysql_query($sSQL);
if(!$rResult) {
if(DEBUG_MODE) {
echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
} else {
echo('Er ging iets fout met de query');
}
} else {
if(mysql_num_rows($res) > 0) {
echo 'Email is al geregistreerd';
$aError['Email'] = 1;
}
}
////////////////////////////////////
// Als er geen foutmeldingen zijn //
// de user opslaan in de DB //
////////////////////////////////////
if(!in_array('1', $aError)) {
$sPassword = md5($sPassword); // Het wachtwoord md5 encrypten
$sSQL = "INSERT INTO userreg (naam,
password,
username,
email,
woonplaats,
geslacht )
VALUES ('" . $sName . "',
'" . $sPassword . "',
'" . $sUsername . "',
'" . $sEmail . "',
'" . $sWoonplaats . "',
'" . $sGender . "')";
$rResult = mysql_query($sSQL);
if(!$rResult) {
if(DEBUG_MODE) {
echo("Er ging iets fout met de query: ".mysql_error()." (".$sSQL.")");
} else {
echo("Er ging iets fout met de query");
}
} else {
echo 'U kunt nu inloggen';
}
}
}
?>
boven aan in je script, wat daaruit komt dien je eerst op te lossen
en het volgende ontbreekt
- correcte controle en validatie op $_POST ontbreekt
- empty moet je zo ie zo niet gebruiken
- mysql_real_escape haal je te vroeg over de $_POST/$_GET heen, pas toepassen als het de database tabel ingaat
zal wel iets kleins zijn?
bedankt