Wachtwoord controleren.
Ik wou namelijk in een register script wachtwoord controleren toevoegen.
Dus dat je die 2 keer moet invoeren en dat hij die vergelijkt met elkaar en dan pas door gaat.
Nu heb ik iets gedaan(wat blijkbaar niet goed is.
Ik heb een regeltje toegevoegd voor wachtwoord. pasword1. (textveld)
Deze heb ik boven in meegenomen.
Maar nu registreert die als ik 1 veld invoer niet.
Als ik 2 velding invoer wel.
maar als ik 2 verschillende waardes in de velden invoer registreert die ook maar dan maakt die van de wachtwoorden denk ik een soort mengel moesje. en kan je dus nooit inloggen.(Geprobeert)
Heb = == =1 geprobeert maar helpt niet .
Waarschijnlijk heb ik te makkelijk gedacht om hem er tussen te zetten.
if($_POST['username'] != "" && $_POST['password'] = $_POST['password1'] != "" && $_POST['email'] != "" && $_POST['websitename'] !=
Wie kan mij helpen?
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
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
<?php
echo "<h1>Aanmelden</h1>";
if(isset($_SESSION['userid'])) {
echo "U kunt geen gebruiker aanmelden, omdat u bent ingelogd.";
exit;
}
if(isset($_POST['submit']))
if(empty($_POST['username'])) { echo "U Heeft geen wachtwoord in gevult";}
if(empty($_POST['password']) || empty($_POST['password1']))
{ echo 'u heeft een van de wachtwoorden niet ingevuld'; }
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
if(empty($_POST['email'])) { echo "U heeft uw email adres niet ingevult.";}
if(empty($_POST['websitename'])) { echo "U moet een website naam opgeven";}
if(empty($_POST['description'])) { echo "U moet een website beschrijving invullen";}
if(empty($_POST['url'])) { echo "U moet een Websitenaam invullen.";
} else {
$query = "SELECT * FROM users WHERE username = '".$_POST['username']."' OR email = '".$_POST['email']."' OR ip = '".$_SERVER['REMOTE_ADDR']."' LIMIT 1";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
$fout = 1;
}
if(!isset($fout)) {
$query = "INSERT INTO users (username, password, email, ip) VALUES ('".$_POST['username']."', '".md5($_POST['password'])."', '".$_POST['email']."', '".$_SERVER['REMOTE_ADDR']."')";
$sql = mysql_query($query) or die ( mysql_error( ) );
$query = "SELECT * FROM users WHERE username = '".$_POST['username']."' LIMIT 1";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
$userid = $record->id;
}
$query = "INSERT INTO websites (userid, name, description, url) VALUES ('$userid', '".$_POST['websitename']."', '".$_POST['description']."', '".$_POST['url']."')";
$sql = mysql_query($query) or die ( mysql_error( ) );
echo "Uw account is succesvol aangemaakt!<br>
U kunt nu inloggen in het inlogscherm.<br>
Er wordt nu een e-mail verstuurd met uw accountdetails.";
$to = "".$_POST['username']." <".$_POST['email'].">";
$subject = "Accountdetails $titel Account";
$message = "Beste ".$_POST['username'].",
U heeft zojuist een account aangemaakt op $titel.
Dit zijn de details van uw account:
Gebruikersnaam: ".$_POST['username']."
Wachtwoord: ".$_POST['password']."
Met vriendelijke groet,
$titel";
$headers = "From: $titel <$emailadres>\r\n'Reply-To: $titel <$emailadres>'\r\n'X-Mailer: PHP/' . phpversion()";
mail($to, $subject, $message, $headers);
if(isset($_POST['ref'])) {
$query = "INSERT INTO referrals (referral_id, user_id) VALUES (".$_POST['ref'].", $userid)";
$sql = mysql_query($query) or die ( mysql_error( ) );
}
} else {
echo "Deze gebruikersnaam, dit e-mailadres of dit ip-adres is al in gebruik!";
} else {
?>
<form method='POST' action='?pagina=registreren'>
<table border='0' cellpadding='0' cellspacing='0' width='22'>
<tr>
<td colspan='2'><b>Inloggegevens</b></td>
</tr>
<tr>
<td>Gebruikersnaam:  </td>
<td><input type='text' name='username' size='20'></td>
</tr>
<tr>
<td>Wachtwoord:</td>
<td><input type='password' name='password' size='20'></td>
</tr>
<tr>
<td> Herhaal Wachtwoord:</td>
<td><input type='password1' name='password1' size='20'></td>
</tr>
<tr>
<td>E-mailadres</td>
<td><input type='text' name='email' size='30'></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan='2'><b>Websitegegevens</b></td>
</tr>
<tr>
<td>Naam website:</td>
<td><input type='text' name='websitename' size='30'></td>
</tr>
<tr>
<td>Omschrijving:</td>
<td><input type='text' name='description' size='30'></td>
</tr>
<?php
if(isset($_GET['ref'])) {
echo "<input type='hidden' name='ref' value='".$_GET['ref']."'>";
}
?>
<tr>
<td>URL</td>
<td><input type='text' name='url' size='30'></td>
</tr>
</table>
<p><input type='submit' value='Aanmelden' name='submit'></p>
</form>
<?php
}
?>
echo "<h1>Aanmelden</h1>";
if(isset($_SESSION['userid'])) {
echo "U kunt geen gebruiker aanmelden, omdat u bent ingelogd.";
exit;
}
if(isset($_POST['submit']))
if(empty($_POST['username'])) { echo "U Heeft geen wachtwoord in gevult";}
if(empty($_POST['password']) || empty($_POST['password1']))
{ echo 'u heeft een van de wachtwoorden niet ingevuld'; }
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
if(empty($_POST['email'])) { echo "U heeft uw email adres niet ingevult.";}
if(empty($_POST['websitename'])) { echo "U moet een website naam opgeven";}
if(empty($_POST['description'])) { echo "U moet een website beschrijving invullen";}
if(empty($_POST['url'])) { echo "U moet een Websitenaam invullen.";
} else {
$query = "SELECT * FROM users WHERE username = '".$_POST['username']."' OR email = '".$_POST['email']."' OR ip = '".$_SERVER['REMOTE_ADDR']."' LIMIT 1";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
$fout = 1;
}
if(!isset($fout)) {
$query = "INSERT INTO users (username, password, email, ip) VALUES ('".$_POST['username']."', '".md5($_POST['password'])."', '".$_POST['email']."', '".$_SERVER['REMOTE_ADDR']."')";
$sql = mysql_query($query) or die ( mysql_error( ) );
$query = "SELECT * FROM users WHERE username = '".$_POST['username']."' LIMIT 1";
$sql = mysql_query($query) or die ( mysql_error( ) );
while($record = mysql_fetch_object($sql)){
$userid = $record->id;
}
$query = "INSERT INTO websites (userid, name, description, url) VALUES ('$userid', '".$_POST['websitename']."', '".$_POST['description']."', '".$_POST['url']."')";
$sql = mysql_query($query) or die ( mysql_error( ) );
echo "Uw account is succesvol aangemaakt!<br>
U kunt nu inloggen in het inlogscherm.<br>
Er wordt nu een e-mail verstuurd met uw accountdetails.";
$to = "".$_POST['username']." <".$_POST['email'].">";
$subject = "Accountdetails $titel Account";
$message = "Beste ".$_POST['username'].",
U heeft zojuist een account aangemaakt op $titel.
Dit zijn de details van uw account:
Gebruikersnaam: ".$_POST['username']."
Wachtwoord: ".$_POST['password']."
Met vriendelijke groet,
$titel";
$headers = "From: $titel <$emailadres>\r\n'Reply-To: $titel <$emailadres>'\r\n'X-Mailer: PHP/' . phpversion()";
mail($to, $subject, $message, $headers);
if(isset($_POST['ref'])) {
$query = "INSERT INTO referrals (referral_id, user_id) VALUES (".$_POST['ref'].", $userid)";
$sql = mysql_query($query) or die ( mysql_error( ) );
}
} else {
echo "Deze gebruikersnaam, dit e-mailadres of dit ip-adres is al in gebruik!";
} else {
?>
<form method='POST' action='?pagina=registreren'>
<table border='0' cellpadding='0' cellspacing='0' width='22'>
<tr>
<td colspan='2'><b>Inloggegevens</b></td>
</tr>
<tr>
<td>Gebruikersnaam:  </td>
<td><input type='text' name='username' size='20'></td>
</tr>
<tr>
<td>Wachtwoord:</td>
<td><input type='password' name='password' size='20'></td>
</tr>
<tr>
<td> Herhaal Wachtwoord:</td>
<td><input type='password1' name='password1' size='20'></td>
</tr>
<tr>
<td>E-mailadres</td>
<td><input type='text' name='email' size='30'></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td colspan='2'><b>Websitegegevens</b></td>
</tr>
<tr>
<td>Naam website:</td>
<td><input type='text' name='websitename' size='30'></td>
</tr>
<tr>
<td>Omschrijving:</td>
<td><input type='text' name='description' size='30'></td>
</tr>
<?php
if(isset($_GET['ref'])) {
echo "<input type='hidden' name='ref' value='".$_GET['ref']."'>";
}
?>
<tr>
<td>URL</td>
<td><input type='text' name='url' size='30'></td>
</tr>
</table>
<p><input type='submit' value='Aanmelden' name='submit'></p>
</form>
<?php
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Nigel
Gebruik je knop om dit te doen.
Geef dan direct alléén de relevante code en geen compleet script.
SanThe.
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:Nigel schreef op 11.02.2009 22:27:
Je hoeft me code niet helemaal door te lezen
Geef dan direct alléén de relevante code en geen compleet script.
SanThe.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
maar: $_POST['password'] == $_POST['password1']
Code (php)
EDIT: ik zie dat phpnewbie me al voor was.
Quote:
Code (php)
Waarom check je op deze wijze of alles is ingevuld?
Je kan hier beter losse error's van maken, vind ik persoonlijk netter.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(empty($_POST['username'])
{ echo 'U heeft geen gebruikersnaam ingevuld.'; }
if(empty($_POST['password']) && empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
}
// en zo verder
[/code]
if(empty($_POST['username'])
{ echo 'U heeft geen gebruikersnaam ingevuld.'; }
if(empty($_POST['password']) && empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
}
// en zo verder
[/code]
Gewijzigd op 01/01/1970 01:00:00 door Justin S
Alleen hoe gebruik jij je tabs?
Ik zou zoiets maken:
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
<?php
if(empty($_POST['username'])
{
$aError[] = 'U heeft geen gebruikersnaam ingevuld.';
}
if($_POST['password'] != $_POST['password1'])
{
$aError[] = 'Wachtwoorden komen niet overeen.';
}
elseif(strlen($_POST['password']) <= 4)
{
$aError[] = 'Wachtwoord moet groter zijn dan 4 tekens.';
}[/code]
Boven dit stukje zet je $aError = ''; neer.
Onder deze controles controleer je of $aError een array is. Indien dit zo is, is er een fout opgetreden. Deze kun je met [php]implode[/php]() achter/onder elkaar zetten.
if(empty($_POST['username'])
{
$aError[] = 'U heeft geen gebruikersnaam ingevuld.';
}
if($_POST['password'] != $_POST['password1'])
{
$aError[] = 'Wachtwoorden komen niet overeen.';
}
elseif(strlen($_POST['password']) <= 4)
{
$aError[] = 'Wachtwoord moet groter zijn dan 4 tekens.';
}[/code]
Boven dit stukje zet je $aError = ''; neer.
Onder deze controles controleer je of $aError een array is. Indien dit zo is, is er een fout opgetreden. Deze kun je met [php]implode[/php]() achter/onder elkaar zetten.
Ik ga nu eerst proberen Losse errors te maken.
En implode snap ik nog niet echt dus die laat ik op dit moment even achterwegen. Die is voor de volgende keer. :)
Dennis Mertens schreef op 12.02.2009 10:54:
Boven dit stukje zet je $aError = ''; neer..
Dat moet natuurlijk $aError = array(); zijn
Hoeft niet Citroen.
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
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
<?php
if(empty($_POST['username'])
{ echo 'U heeft geen gebruikersnaam ingevuld.'; }
if(empty($_POST['password']) && empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
}
// en zo verder
[/code]
Word dan als de eerste is gecontroleert het process afgebroken
Of stuurt die dan als er niks is ingevult een lege waarde daar de database?
Moet ik dan niet ?
[code][code]<?php
if(empty($_POST['username'])
{ echo 'U heeft geen gebruikersnaam ingevuld.';
} else {
if(empty($_POST['password']) && empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
} else {
// en zo verder [/code]
if(empty($_POST['username'])
{ echo 'U heeft geen gebruikersnaam ingevuld.'; }
if(empty($_POST['password']) && empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
}
// en zo verder
[/code]
Word dan als de eerste is gecontroleert het process afgebroken
Of stuurt die dan als er niks is ingevult een lege waarde daar de database?
Moet ik dan niet ?
[code][code]<?php
if(empty($_POST['username'])
{ echo 'U heeft geen gebruikersnaam ingevuld.';
} else {
if(empty($_POST['password']) && empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
} else {
// en zo verder [/code]
Gewijzigd op 01/01/1970 01:00:00 door Nigel
De && (and) moet sowieso een or zijn.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?phpif(isset($_POST['submit'])) {
if(empty($_POST['username']) { echo "U Heeft geen wachtwoord in gevult";}
if(empty($_POST['password']) || empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
if(empty($_POST['email'])
{ echo "U heeft uw email adres niet ingevult.";}
if(empty($_POST['websitename'])
{ echo "U moet een website naam opgeven";}
if(empty($_POST['description'])
{ echo "U moet een website beschrijving invullen";}
if(empty($_POST['url'])
{ echo "U moet een Websitenaam invullen.";} ?>
if(empty($_POST['username']) { echo "U Heeft geen wachtwoord in gevult";}
if(empty($_POST['password']) || empty($_POST['password1'])
{ echo 'u heeft een van de wachtwoorden niet ingevuld';
}else{
if($_POST['password'] != $_POST['password1'])
{ echo 'wachtwoorden komen niet overeen'; }
if(empty($_POST['email'])
{ echo "U heeft uw email adres niet ingevult.";}
if(empty($_POST['websitename'])
{ echo "U moet een website naam opgeven";}
if(empty($_POST['description'])
{ echo "U moet een website beschrijving invullen";}
if(empty($_POST['url'])
{ echo "U moet een Websitenaam invullen.";} ?>
Maar nu kom ik het volgende tegen.
Code (php)
1
2
2
<?php
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email']))?>
eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST['email']))?>
Dit checkt of een email goed is opgebouwd (denk ik).
hoe zet ik dit goed.
want ik kan niet zeggen
Code (php)
Daar klopt dan helemaal niks meer van.
Gewijzigd op 01/01/1970 01:00:00 door Nigel
eregi(). Volgens mij retourneert eregi een 1 of 0, in een if alszijnde true of false. Genoeg dus om een if voorwaarde te laten lopen. Ik zou overigens wel preg_match() gebruiken i.p.v. eregi(), wat nl. vervangen gaat worden in PHP6. Preg_match() werkt ongeveer hetzelfde, behalve dat je een begin en eind teken op moet geven in de regex.
^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
wordt
/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
Waarom die ==? ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$
wordt
/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
Code (php)
1
2
3
4
5
2
3
4
5
<?php preg match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/" $_POST['email']))[/code]
Ik weet niet Hoeveel ) er achter moeten eerlijk gezegt.
En .info email adressen accepteert hij niet. kan ik dan simpel weg {2,3} veranderen in {2,4} ?
Ik weet niet Hoeveel ) er achter moeten eerlijk gezegt.
En .info email adressen accepteert hij niet. kan ik dan simpel weg {2,3} veranderen in {2,4} ?
Gewijzigd op 01/01/1970 01:00:00 door Nigel
Ik heb de email controle er nog maar even uit gelaten.
Maar nu krijg ik een error.
Parse error: parse error in E:\wamp\www\klik\register.php on line 76
Maar ik heb geen flauw idee wat ik nu fout heb gedaan ??
PS: ik zie nu dat ik dubbele post heb geplaatst. Sorry daar voor.
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Nigel
Dennis Mertens schreef op 12.02.2009 10:54:
En natuurlijk een variabele maken zodat je weet dat er een fout is opgetreden.
Alleen hoe gebruik jij je tabs?
Ik zou zoiets maken:
Alleen hoe gebruik jij je tabs?
Ik zou zoiets maken:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if(empty($_POST['username'])
{
$aError[] = 'U heeft geen gebruikersnaam ingevuld.';
}
if($_POST['password'] != $_POST['password1'])
{
$aError[] = 'Wachtwoorden komen niet overeen.';
}
elseif(strlen($_POST['password']) <= 4)
{
$aError[] = 'Wachtwoord moet groter zijn dan 4 tekens.';
}[/code]
Boven dit stukje zet je $aError = ''; neer.
Onder deze controles controleer je of $aError een array is. Indien dit zo is, is er een fout opgetreden. Deze kun je met [php]implode[/php]() achter/onder elkaar zetten.[/quote]
Had het even snel op phphulp gescript in het reactieformuliertje, geen zin gehad de zooi in dreamweaver oid te maken. Kunnen ook wat foutjes in zitten, maar het is de bedoeling dat de TS uiteindelijk zelf zijn script maakt toch ;-)..
if(empty($_POST['username'])
{
$aError[] = 'U heeft geen gebruikersnaam ingevuld.';
}
if($_POST['password'] != $_POST['password1'])
{
$aError[] = 'Wachtwoorden komen niet overeen.';
}
elseif(strlen($_POST['password']) <= 4)
{
$aError[] = 'Wachtwoord moet groter zijn dan 4 tekens.';
}[/code]
Boven dit stukje zet je $aError = ''; neer.
Onder deze controles controleer je of $aError een array is. Indien dit zo is, is er een fout opgetreden. Deze kun je met [php]implode[/php]() achter/onder elkaar zetten.[/quote]
Had het even snel op phphulp gescript in het reactieformuliertje, geen zin gehad de zooi in dreamweaver oid te maken. Kunnen ook wat foutjes in zitten, maar het is de bedoeling dat de TS uiteindelijk zelf zijn script maakt toch ;-)..
Het lukt mij zelf niet om de error eruit te vissen.
Ik heb gekeken maar naar mij weten geen haakjes puntjes verkeerd gezet.
PS: Waar staat TS voor;) ik neem aan dat het op mij doelt maar waarvan is dat de afkorting?
Gewijzigd op 01/01/1970 01:00:00 door Nigel