username check??
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
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
<?
if ($action == "add") {
// ff kijken of hij wel alles heeft ingevult wat nodig is
if (!$username || !$naam || !$password1 || !$password2) {
$error .= "- Je hebt helemaal geen velden ingevuld. Probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de 2 passwords gelijk zijn
if ($password1 != $password2) {
$error .= "- De twee passworden kwamen niet met elkaar overeen, probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de passwords wel lang genoeg zijn
if (strlen($password1) <= 5) {
$error .= "- Het password wat je gekozen hebt is te kort, probeer een langer password. Minstens 6 tekens of meer.<br>";
$errors = "1";
}
$sql = "SELECT username FROM members WHERE username = '$username'";
$result = mysql_query($sql);
if (mysql_num_rows($result) != "0") {
$error .= "- Het lijkt erop dat deze username al eerder is gebruikt. Verzin een andere username en probeer opnieuw.<br>";
$errors = "1";
}
if ($errors == "1")
{
echo "<b>Registratie is mislukt! klik <a href=index.php?page=register&action=new><b>hier</b></a> om terug te gaan</b>";
showerror($error);
}
else {
$code = md5(strrand(8));
$md5_password = md5($password1);
$aangemeld = date("Y-m-d H:i:s");
$naam = addslashes($naam);
$email = addslashes($email);
$woonplaats = addslashes($woonplaats);
$username = addslashes($username);
$password = addslashes($password);
$geslacht = addslashes($geslacht);
$geaardheid = addslashes($geaardheid);
$lengte = addslashes($lengte);
$profielinhoud = addslashes($profielinhoud);
$dag = addslashes($dag);
$maand = addslashes($maand);
$jaar = addslashes($jaar);
$geboortedatum = "19$jaar-$maand-$dag";
$naam = smily2img($naam);
$woonplaats = smily2img($woonplaats);
$kleurogen = smily2img($kleurogen);
$lengte = smily2img($lengte);
$relatie = smily2img($relatie);
$hobby = smily2img($hobby);
$muziek = smily2img($muziek);
$film = smily2img($film);
$site = smily2img($site);
$kleur = smily2img($kleur);
$naam = htmlentities($naam);
$username = strtolower($username);
$username = ereg_replace(" ", "_", $username);
$cfg['dir'] = "/h/3feb/hs/users/fotoalbum";
$sql = "INSERT INTO members(userid, username, password, email, active, code, level, naam, geboortedatum, woonplaats, geslacht, geaardheid, lengte, aangemeld, gewijzigd, views) VALUES ('', '$username', '$md5_password', '$email', '1', '$code', '0', '$naam', '$geboortedatum', '$woonplaats', '$geslacht', '$geaardheid', '$lengte', '$aangemeld', '$aangemeld', '0')";
mkdir ($_SERVER['DOCUMENT_ROOT'] . $cfg['dir'] ."/". $username, 0755);
chmod ($_SERVER['DOCUMENT_ROOT'] . $cfg['dir'] ."/". $username, 0707);
?>
if ($action == "add") {
// ff kijken of hij wel alles heeft ingevult wat nodig is
if (!$username || !$naam || !$password1 || !$password2) {
$error .= "- Je hebt helemaal geen velden ingevuld. Probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de 2 passwords gelijk zijn
if ($password1 != $password2) {
$error .= "- De twee passworden kwamen niet met elkaar overeen, probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de passwords wel lang genoeg zijn
if (strlen($password1) <= 5) {
$error .= "- Het password wat je gekozen hebt is te kort, probeer een langer password. Minstens 6 tekens of meer.<br>";
$errors = "1";
}
$sql = "SELECT username FROM members WHERE username = '$username'";
$result = mysql_query($sql);
if (mysql_num_rows($result) != "0") {
$error .= "- Het lijkt erop dat deze username al eerder is gebruikt. Verzin een andere username en probeer opnieuw.<br>";
$errors = "1";
}
if ($errors == "1")
{
echo "<b>Registratie is mislukt! klik <a href=index.php?page=register&action=new><b>hier</b></a> om terug te gaan</b>";
showerror($error);
}
else {
$code = md5(strrand(8));
$md5_password = md5($password1);
$aangemeld = date("Y-m-d H:i:s");
$naam = addslashes($naam);
$email = addslashes($email);
$woonplaats = addslashes($woonplaats);
$username = addslashes($username);
$password = addslashes($password);
$geslacht = addslashes($geslacht);
$geaardheid = addslashes($geaardheid);
$lengte = addslashes($lengte);
$profielinhoud = addslashes($profielinhoud);
$dag = addslashes($dag);
$maand = addslashes($maand);
$jaar = addslashes($jaar);
$geboortedatum = "19$jaar-$maand-$dag";
$naam = smily2img($naam);
$woonplaats = smily2img($woonplaats);
$kleurogen = smily2img($kleurogen);
$lengte = smily2img($lengte);
$relatie = smily2img($relatie);
$hobby = smily2img($hobby);
$muziek = smily2img($muziek);
$film = smily2img($film);
$site = smily2img($site);
$kleur = smily2img($kleur);
$naam = htmlentities($naam);
$username = strtolower($username);
$username = ereg_replace(" ", "_", $username);
$cfg['dir'] = "/h/3feb/hs/users/fotoalbum";
$sql = "INSERT INTO members(userid, username, password, email, active, code, level, naam, geboortedatum, woonplaats, geslacht, geaardheid, lengte, aangemeld, gewijzigd, views) VALUES ('', '$username', '$md5_password', '$email', '1', '$code', '0', '$naam', '$geboortedatum', '$woonplaats', '$geslacht', '$geaardheid', '$lengte', '$aangemeld', '$aangemeld', '0')";
mkdir ($_SERVER['DOCUMENT_ROOT'] . $cfg['dir'] ."/". $username, 0755);
chmod ($_SERVER['DOCUMENT_ROOT'] . $cfg['dir'] ."/". $username, 0707);
?>
boven bij errors zie je wat ik controleer en ik controleer alleen of die username bestaat,, hoe zou ik het moeten doen als ik geen vreemde tekens en spaties wil ?
Gewijzigd op 01/01/1970 01:00:00 door R
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(preg_match('/[0-9a-z]/i', $string))
{
// $string bevat alleen cijfers en letters (case-insensitive)
}
?>
if(preg_match('/[0-9a-z]/i', $string))
{
// $string bevat alleen cijfers en letters (case-insensitive)
}
?>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(preg_match('/[0-9a-z]/i', $string))
{
// $string bevat alleen cijfers en letters (case-insensitive)
}
?>
if(preg_match('/[0-9a-z]/i', $string))
{
// $string bevat alleen cijfers en letters (case-insensitive)
}
?>
Maar moet dat wel zo :/ ik dacht wat anders maar ut zal wel goed zijn :$
Daarom een betere (hopelijk :D):
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
if(preg_match('/^[0-9a-z]+$/i', $string))
{
// $string bevat alleen cijfers en letters (case-insensitive)
}
?>
if(preg_match('/^[0-9a-z]+$/i', $string))
{
// $string bevat alleen cijfers en letters (case-insensitive)
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
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
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
<?
if ($action == "add") {
// ff kijken of hij wel alles heeft ingevult wat nodig is
if (!$username || !$naam || !$password1 || !$password2) {
$error .= "- Je hebt helemaal geen velden ingevuld. Probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de 2 passwords gelijk zijn
if ($password1 != $password2) {
$error .= "- De twee passworden kwamen niet met elkaar overeen, probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de passwords wel lang genoeg zijn
if (strlen($password1) <= 5) {
$error .= "- Het password wat je gekozen hebt is te kort, probeer een langer password. Minstens 6 tekens of meer.<br>";
$errors = "1";
}
$sql = "SELECT username FROM members WHERE username = '$username'";
$result = mysql_query($sql);
if (mysql_num_rows($result) != "0") {
$error .= "- Het lijkt erop dat deze username al eerder is gebruikt. Verzin een andere username en probeer opnieuw.<br>";
$errors = "1";
}
if(preg_match('/^[0-9a-z]+$/i', $username)) {
// $username bevat alleen cijfers en letters (case-insensitive)
$error .= "- Username mag alleen cijfers en letters bevatten<br>";
$errors = "1";
}
if ($errors == "1")
{
echo "<b>Registratie is mislukt! klik <a href=index.php?page=register&action=new><b>hier</b></a> om terug te gaan</b>";
showerror($error);
}
?>
if ($action == "add") {
// ff kijken of hij wel alles heeft ingevult wat nodig is
if (!$username || !$naam || !$password1 || !$password2) {
$error .= "- Je hebt helemaal geen velden ingevuld. Probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de 2 passwords gelijk zijn
if ($password1 != $password2) {
$error .= "- De twee passworden kwamen niet met elkaar overeen, probeer opnieuw.<br>";
$errors = "1";
}
// ff kijken of de passwords wel lang genoeg zijn
if (strlen($password1) <= 5) {
$error .= "- Het password wat je gekozen hebt is te kort, probeer een langer password. Minstens 6 tekens of meer.<br>";
$errors = "1";
}
$sql = "SELECT username FROM members WHERE username = '$username'";
$result = mysql_query($sql);
if (mysql_num_rows($result) != "0") {
$error .= "- Het lijkt erop dat deze username al eerder is gebruikt. Verzin een andere username en probeer opnieuw.<br>";
$errors = "1";
}
if(preg_match('/^[0-9a-z]+$/i', $username)) {
// $username bevat alleen cijfers en letters (case-insensitive)
$error .= "- Username mag alleen cijfers en letters bevatten<br>";
$errors = "1";
}
if ($errors == "1")
{
echo "<b>Registratie is mislukt! klik <a href=index.php?page=register&action=new><b>hier</b></a> om terug te gaan</b>";
showerror($error);
}
?>
kan alsong registreren
Gewijzigd op 01/01/1970 01:00:00 door R
Code (php)
1
2
3
4
5
6
2
3
4
5
6
if(preg_match('/^[0-9a-z]+$/i', $username)) {
// $username bevat alleen cijfers en letters (case-insensitive)
$error .= "- Username mag alleen cijfers en letters bevatten<br>";
$errors = "1";
}
// $username bevat alleen cijfers en letters (case-insensitive)
$error .= "- Username mag alleen cijfers en letters bevatten<br>";
$errors = "1";
}
Je geeft hier een foutmelding als je naam geldig is. Nieuwe users kunnen alleen verder als ze een ongeldige naam opgeven ;-)
Gewijzigd op 01/01/1970 01:00:00 door Willem vp
Is er ook een iets wat email adressen checked of het goed ingevult is ?
Gewijzigd op 01/01/1970 01:00:00 door R
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
er zijn er vele. De ingewikkeldste die ik ooit gezien heb is trouwens door Willem_vp gepost. Misschien heeft hij hem nog ergens ;-)
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
function validmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
elseif (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
?>
function validmail($email)
{
$email_host = explode("@", $email);
$email_host = $email_host[1];
$email_resolved = gethostbyname($email_host);
if($email_resolved == $email_host)
{
$valid = FALSE;
}
elseif (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{
$valid = TRUE;
}
else
{
$valid = FALSE;
}
return $valid;
}
?>
Bij een dubbele username zal de query keurig mislukken en errornummer 1062 retour geven. Vraag deze op met mysql_errno().
Dit is de enige betrouwbare methode en is nog sneller ook, het scheelt je een overbodige en volkomen zinloze query.