juiste plaats van trim ()???
thx alvast
------------------------------------------------------------
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
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
<?php
include("inc_connect.php");
$gebruikersnaam = $_POST["gebruikersnaam"];
if(isset($_POST['Submit'])) {
if($_POST['gebruikersnaam'] != "" AND $_POST['email'] != "" AND $_POST['voornaam'] != "" AND $_POST['achternaam'] != "" AND $_POST['geboortedatum'] != "" AND $_POST['homepage'] != "" AND $_POST['wachtwoord'] != "") {
if($_POST['wachtwoord'] == $_POST['wachtwoord2']) {
$sql = "SELECT * FROM users WHERE Gebruikersnaam='".$_POST['gebruikersnaam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
if(mysql_num_rows($resultaat) == 0) {
$gebruikersnaam = trim(chop($_POST["gebruikersnaam"]));
$md5pass = ($_POST['wachtwoord']);
$insert = "INSERT INTO users (Gebruikersnaam , Email , Voornaam , Achternaam , Geboortedatum , Homepage , Wachtwoord) VALUES ('".$_POST['gebruikersnaam']."','".$_POST['email']."','".$_POST['voornaam']."','".$_POST['achternaam']."','".$_POST['geboortedatum']."','".$_POST['homepage']."','".$md5pass."')";
mysql_query($insert) OR die ("Kon geen verbinding maken met MySQL");
$tekst = "Thanks for signing up. You can now <a href=\"index.php\">sign in</a>.";
echo ($tekst);
}else{
$tekst2 = "<b>$gebruikersnaam</b> is already in use. Please try another nickname.";
echo ($tekst2);
}
}else{
echo "Your passwords don't match.";
}
}else{
echo "You have to fill all fields please.";
}
}else{ }
?>
include("inc_connect.php");
$gebruikersnaam = $_POST["gebruikersnaam"];
if(isset($_POST['Submit'])) {
if($_POST['gebruikersnaam'] != "" AND $_POST['email'] != "" AND $_POST['voornaam'] != "" AND $_POST['achternaam'] != "" AND $_POST['geboortedatum'] != "" AND $_POST['homepage'] != "" AND $_POST['wachtwoord'] != "") {
if($_POST['wachtwoord'] == $_POST['wachtwoord2']) {
$sql = "SELECT * FROM users WHERE Gebruikersnaam='".$_POST['gebruikersnaam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
if(mysql_num_rows($resultaat) == 0) {
$gebruikersnaam = trim(chop($_POST["gebruikersnaam"]));
$md5pass = ($_POST['wachtwoord']);
$insert = "INSERT INTO users (Gebruikersnaam , Email , Voornaam , Achternaam , Geboortedatum , Homepage , Wachtwoord) VALUES ('".$_POST['gebruikersnaam']."','".$_POST['email']."','".$_POST['voornaam']."','".$_POST['achternaam']."','".$_POST['geboortedatum']."','".$_POST['homepage']."','".$md5pass."')";
mysql_query($insert) OR die ("Kon geen verbinding maken met MySQL");
$tekst = "Thanks for signing up. You can now <a href=\"index.php\">sign in</a>.";
echo ($tekst);
}else{
$tekst2 = "<b>$gebruikersnaam</b> is already in use. Please try another nickname.";
echo ($tekst2);
}
}else{
echo "Your passwords don't match.";
}
}else{
echo "You have to fill all fields please.";
}
}else{ }
?>
Want hier weet je al dat $_POST["gebruikersnaam"] niet in de database zit. Je moet denk ik gewoon voorkomen dat gebruikers spacies kunnen invoeren.
Gewijzigd op 19/05/2005 20:56:00 door Martijn B
en trouwens echt verstand van php heb ik nie :P
ik doe maar wat , er staat niet voor niets newbie onder mijnnaam
Gewijzigd op 19/05/2005 21:07:00 door bruno -
Quote:
include("inc_connect.php");
$gebruikersnaam = $_POST["gebruikersnaam"];
$gebruikersnaam = $_POST["gebruikersnaam"];
Code (php)
1
2
3
4
5
2
3
4
5
<?
include("inc_connect.php");
$gebruikersnaam = str_replace(" ", "", $_POST["gebruikersnaam"]);
# Dit zal alle spaties eruit filteren...
?>
include("inc_connect.php");
$gebruikersnaam = str_replace(" ", "", $_POST["gebruikersnaam"]);
# Dit zal alle spaties eruit filteren...
?>
Je kan trouwens ook een extra account aanmaken door hoofdletters... Kan je vermijden door elke gebruikersnaam in lowercase te saven...
Tip: strtolower();
hij blijft gewoon registreren :s
Als je doet wat Rafael zegt moet je wel alle $_POST["gebruikersnaam"] vervangen door $gebruikersnaam.
SanThe:
Als je doet wat Rafael zegt moet je wel alle $_POST["gebruikersnaam"] vervangen door $gebruikersnaam.
Excuses, had niet verder gekeken...
Of simpelweg zo doen:
Code (php)
1
2
3
4
5
2
3
4
5
<?
include("inc_connect.php");
$_POST["gebruikersnaam"] = str_replace(" ", "", $_POST["gebruikersnaam"]);
# Dit zal alle spaties eruit filteren...
?>
include("inc_connect.php");
$_POST["gebruikersnaam"] = str_replace(" ", "", $_POST["gebruikersnaam"]);
# Dit zal alle spaties eruit filteren...
?>
Kan ook.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$gebruikersnaam = 'afcdsfjk';
if( preg_match('#^[A-Za-z0-9_-]+$#', $gebruikersnaam, $match) ){
echo 'Je gebruikernaam is goed!';
}
else{
echo 'In je gebruikernaam zitten verkeerde tekens!';
}
?>
$gebruikersnaam = 'afcdsfjk';
if( preg_match('#^[A-Za-z0-9_-]+$#', $gebruikersnaam, $match) ){
echo 'Je gebruikernaam is goed!';
}
else{
echo 'In je gebruikernaam zitten verkeerde tekens!';
}
?>
Gewijzigd op 19/05/2005 22:24:00 door Martijn B
Thx :D:D:D
Dus ipv '#^[A-Za-z0-9_-]+$#', '#^[A-Z0-9_-]+$#i' voor case insensitive.
Daarnaast de kolom gebruikers uniqe maken. Lost alle problemen op :)
Mitch:
@Martijn, $match is niet echt nodig, en PECR kennen ook zogenaamde pattern modifiers :)
Dus ipv '#^[A-Za-z0-9_-]+$#', '#^[A-Z0-9_-]+$#i' voor case insensitive.
Dus ipv '#^[A-Za-z0-9_-]+$#', '#^[A-Z0-9_-]+$#i' voor case insensitive.
Ik kom er nu pas acher dat match idd optioneel is.
Gewijzigd op 20/05/2005 00:08:00 door Martijn B