Username check
Goedenmiddag,
Aangezien ik een beginner ben en nog niet veel ken van php, wil ik het langzaam leren met ermee bezig te zijn. Daarom heb ik het loginscript ook hier op PHP op mijn site gezwierd. Er is echter 1 probleem, de username kan spaties en rare tekens bevatten. Dit los je op met een preg_match. Maar waar moet ik deze correct invoegen en wat moet ik invoegen na die preg_match(xxxx) ?
Dit is het script:
Aangezien ik een beginner ben en nog niet veel ken van php, wil ik het langzaam leren met ermee bezig te zijn. Daarom heb ik het loginscript ook hier op PHP op mijn site gezwierd. Er is echter 1 probleem, de username kan spaties en rare tekens bevatten. Dit los je op met een preg_match. Maar waar moet ik deze correct invoegen en wat moet ik invoegen na die preg_match(xxxx) ?
Dit is het script:
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
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
<?
if(!isset($_SESSION['user_id'])) {
if(isset($_POST['submit'])) {
// Exec
// Check fields
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
// Username-check
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$username."'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Email passed check
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
}
$md5pass = md5($_POST['pass1']);
$IP = $_SERVER['REMOTE_ADDR'];
if($activate == TRUE) {
// Insertje in database
}else{
// Insertje in database
}
$query = mysql_query($sql);
$query9 = mysql_query($sql9);
if($query == TRUE) {
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$dbid = htmlspecialchars($rij->id);
$bericht = $reg_mail;
$bericht .= "Kopieer de volgende link in je browser om je account te activeren: blabla \n\n";
$bericht .= "Gebruikersnaam: ".$username."\n";
$bericht .= "Wachtwoord: ".$_POST['pass1']."\n";
$mail = mail($_POST['email'],"Registratie blabla",$bericht,"From: blabla");
if($activate == TRUE) {
if($mail == TRUE) {
echo $reg_truemail;
}else{
echo $error;
}
}else{
echo $reg_nomail;
}
}else{
echo $error;
}
}else{
echo $reg_pascheck;
}
}else{
echo $reg_mailcheck;
}
}else{
echo $reg_userexists;
}
}else{
echo $reg_field;
}
}else{
// Form
}
}else{
echo $reg_loginerror;
}
?>
if(!isset($_SESSION['user_id'])) {
if(isset($_POST['submit'])) {
// Exec
// Check fields
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
// Username-check
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$username."'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Email passed check
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
}
$md5pass = md5($_POST['pass1']);
$IP = $_SERVER['REMOTE_ADDR'];
if($activate == TRUE) {
// Insertje in database
}else{
// Insertje in database
}
$query = mysql_query($sql);
$query9 = mysql_query($sql9);
if($query == TRUE) {
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$dbid = htmlspecialchars($rij->id);
$bericht = $reg_mail;
$bericht .= "Kopieer de volgende link in je browser om je account te activeren: blabla \n\n";
$bericht .= "Gebruikersnaam: ".$username."\n";
$bericht .= "Wachtwoord: ".$_POST['pass1']."\n";
$mail = mail($_POST['email'],"Registratie blabla",$bericht,"From: blabla");
if($activate == TRUE) {
if($mail == TRUE) {
echo $reg_truemail;
}else{
echo $error;
}
}else{
echo $reg_nomail;
}
}else{
echo $error;
}
}else{
echo $reg_pascheck;
}
}else{
echo $reg_mailcheck;
}
}else{
echo $reg_userexists;
}
}else{
echo $reg_field;
}
}else{
// Form
}
}else{
echo $reg_loginerror;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Jens
asje, dat was hem geloof ik^^
en waar moet ik deze laatste } zetten?
Waar wordt $username gedeclareert?
'Jens:
'Chris:
Waar wordt $username gedeclareert?
Door het script in te korten, en mijn vorige probeersels te verwijderen heb ik die $username vergeten terug te veranderen naar $_POST['user'], dus op die $username moet je niet letten.
'Jens:
'Chris:
Waar wordt $username gedeclareert?
Lolz, waarom heb je eigenlijk je bericht niet bewerkt :P nu staat er alleen een quote :P
Ja, ik klikte er naast blijkbaar :P




