wachtwoord veranderen
ik heb een inlogscript op phphulp overgenomen en erg veranderd. Als je account dan aanmaakt krijg je een wachtwoord toegestuurd. Dit werkt allemaal perfect maar nu wil ik dat je ook je wachtwoord kunt veranderen als je ingelogd bent. Hoe maak ik dit? Dit inlog script heb ik overgenomen:
Maar het is zonder Mysql...
Edit:
Trouwens je hebt een grote fout gemaakt!
Je hebt include('check.php'); erin gezet dat hoort er niet in want je moet die pagina niet beveiligen.
Edit2 : maar dat maakt niet uit ik heb dat er al uitgevist.
Super bedankt zo wou ik het:)
Nog 1 foutje... Als je nu je wachtwoord invoerd kun je dat wachtwoord wat je invoerd zien. Hoe verander ik dat?
Nog een edit:
Het is wel een goed script maar niet wat ik wou.
Ik wou het oude script houden maar dan. Als ze dan met het wachtwoord inlogden, dat ze dan een optie hadden als, Wachtwoord veranderen. Maar dit script is ook goed... ( alleen als de mensen hun wachtwoord willen veranderen dan lukt dat nog niet dus dat wou ik er graag bij hebben) Bedankt ik zal het aanpassen en gebruiken ;)
iemand een oplossing? :(
waarom zou ik dit commando niet mogen gebruiken? Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/reddice/public_html/register.php on line 80
dan geeft ie deze fout;
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/reddice/public_html/register.php on line 80
:/
al opgelost doh, ik ben echt dom soms
Want nu stuurd hij hem namelijk naar mijn eigen email en dat hoort niet... ( dus verandert het aub voor me ) :) Hallo, bedankt voor het script maar ik mis nog 1 ding kun je er nog inzetten dat je je email moet invullen en dat die daarna toegezend wordt?
En naar mijn mening moet die check er wel in!
Je moet toch zeker ingelogd zijn om je wachtwoord te wijzigen!
Lijkt me niet echt veilig anders...
Dan moet je dat emailadres uit het tekstbastandje lezen...
Tip: epxlode op spatie... array['2'] is dan email... Moet je zelf uitzoeken hoe het zit.... Beetje leren kan geen kwaad tuurlijk, maar ik ga niet alles voor je doen...
Dus...
Edit:
Als je je pass moet veranderen dan moet die check erin ja maar als je wilt registreren niet PS. Jij hoeft het niet te doen, mag ook iemand anders. Trouwens het is niet eens een script om je wachtwoord te veranderen, maar om te registreren.
Ja, maak zelf een inlog script :P
Oud wachtwoord controleren, nieuwe wachtwoorden controleren of ze gelijk zijn aan elkaar... tabel updaten...
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
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
<?
include('check.php');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['login_name']) OR empty($_POST['pass']) OR empty($_POST['pass2']))
{
exit("<h1>Error</h1>\n<p>You did not fill in all required fields!</p>\n");
}
else
{
$username = addslashes(htmlspecialchars($_POST['login_name']));
if($_POST['pass'] == $_POST['pass2'])
{
$password = $_POST['pass'];
}
else
{
exit("<h1>Error</h1>\n<p>Password check failed!</p>\n");
}
$email = $_POST['email'];
if(file_exists('members/' . $username . '.php'))
{
exit("<h1>Error</h1>\n<p>Username already in use!</p>\n");
}
else
{
include('config.php');
$onderwerp = "Registration at " . $website;
$bericht = "
Welcome to " . $website . "\n\nPlease keep this email for your records. Your account information is as follows:\n\n----------------------------\nUsername: " . $username . "\nPassword: " . $password . "\n----------------------------\n\nThank you for registering.";
mail($email, $onderwerp, $bericht, "From: " . $afzender . "\nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
$handle = fopen('members/' . $username . '.php','w');
fwrite($handle, "<?\n \$password = \"" . md5($password) . "\";\n \$email = \"" . $email . "\";\n ? >");
fclose($handle);
echo "<h1>Succes</h1>\n<p>Please check your email for your password!</p>\n";
}
}
}
else
{
? >
<form method="POST" action="<? echo $_SERVER['PHP_SELF']; ? >">
<h1>Create account</h1>
<p>Username:<br><input type="text" name="login_name" maxlength="20"></p>
<p>Wachtwoord:<br><input type="text" name="pass"></p>
<p>Wachtwoord (controle):<br><input type="text" name="pass2"></p>
<p><input type="submit" name="submit" value="Register"></p>
</form>
[code]<?
}
? >
?>
Zoiets...
[b]Niet vergeten de spaties tussen alle < ? en ? > weg te halen...[/b]
Edit: Ik heb gewoon de registratie pagina beetje aangepast. Dus er zullen nog wat foutjes in zitten qua text en misschien ergens een variabele...
De email die verstuurd wordt moet je nog aapassen zodat er vermeld wordt dat het wachtwoord gewijzigd is...
include('check.php');
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['login_name']) OR empty($_POST['pass']) OR empty($_POST['pass2']))
{
exit("<h1>Error</h1>\n<p>You did not fill in all required fields!</p>\n");
}
else
{
$username = addslashes(htmlspecialchars($_POST['login_name']));
if($_POST['pass'] == $_POST['pass2'])
{
$password = $_POST['pass'];
}
else
{
exit("<h1>Error</h1>\n<p>Password check failed!</p>\n");
}
$email = $_POST['email'];
if(file_exists('members/' . $username . '.php'))
{
exit("<h1>Error</h1>\n<p>Username already in use!</p>\n");
}
else
{
include('config.php');
$onderwerp = "Registration at " . $website;
$bericht = "
Welcome to " . $website . "\n\nPlease keep this email for your records. Your account information is as follows:\n\n----------------------------\nUsername: " . $username . "\nPassword: " . $password . "\n----------------------------\n\nThank you for registering.";
mail($email, $onderwerp, $bericht, "From: " . $afzender . "\nX-Mailer: PHP/" . phpversion(), "-f " . $afzender);
$handle = fopen('members/' . $username . '.php','w');
fwrite($handle, "<?\n \$password = \"" . md5($password) . "\";\n \$email = \"" . $email . "\";\n ? >");
fclose($handle);
echo "<h1>Succes</h1>\n<p>Please check your email for your password!</p>\n";
}
}
}
else
{
? >
<form method="POST" action="<? echo $_SERVER['PHP_SELF']; ? >">
<h1>Create account</h1>
<p>Username:<br><input type="text" name="login_name" maxlength="20"></p>
<p>Wachtwoord:<br><input type="text" name="pass"></p>
<p>Wachtwoord (controle):<br><input type="text" name="pass2"></p>
<p><input type="submit" name="submit" value="Register"></p>
</form>
[code]<?
}
? >
?>
Zoiets...
[b]Niet vergeten de spaties tussen alle < ? en ? > weg te halen...[/b]
Edit: Ik heb gewoon de registratie pagina beetje aangepast. Dus er zullen nog wat foutjes in zitten qua text en misschien ergens een variabele...
De email die verstuurd wordt moet je nog aapassen zodat er vermeld wordt dat het wachtwoord gewijzigd is...
Gewijzigd op 15/05/2005 14:50:00 door Willem Jan Z
Edit:
Trouwens je hebt een grote fout gemaakt!
Je hebt include('check.php'); erin gezet dat hoort er niet in want je moet die pagina niet beveiligen.
Edit2 : maar dat maakt niet uit ik heb dat er al uitgevist.
Super bedankt zo wou ik het:)
Nog 1 foutje... Als je nu je wachtwoord invoerd kun je dat wachtwoord wat je invoerd zien. Hoe verander ik dat?
Nog een edit:
Het is wel een goed script maar niet wat ik wou.
Ik wou het oude script houden maar dan. Als ze dan met het wachtwoord inlogden, dat ze dan een optie hadden als, Wachtwoord veranderen. Maar dit script is ook goed... ( alleen als de mensen hun wachtwoord willen veranderen dan lukt dat nog niet dus dat wou ik er graag bij hebben)
Gewijzigd op 15/05/2005 18:26:00 door Jesse
type="text" moet type="password" worden.
iemand een oplossing? :(
waarom zou ik dit commando niet mogen gebruiken?
Omdat je query ongeldig is? :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$query = "selection email from members where username = '" . $username . "'";
$result = mysql_query($query);
if (mysql_num_rows($result) >= 1)
{
exit("<h1>Error</h1>\n<p>Username already in use!</p>\n");
}
else
{
// pagina
}
?>
$query = "selection email from members where username = '" . $username . "'";
$result = mysql_query($query);
if (mysql_num_rows($result) >= 1)
{
exit("<h1>Error</h1>\n<p>Username already in use!</p>\n");
}
else
{
// pagina
}
?>
dan geeft ie deze fout;
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/reddice/public_html/register.php on line 80
:/
al opgelost
Want nu stuurd hij hem namelijk naar mijn eigen email en dat hoort niet... ( dus verandert het aub voor me ) :)
Niemand die me kan helpen?
En naar mijn mening moet die check er wel in!
Je moet toch zeker ingelogd zijn om je wachtwoord te wijzigen!
Lijkt me niet echt veilig anders...
Dan moet je dat emailadres uit het tekstbastandje lezen...
Tip: epxlode op spatie... array['2'] is dan email... Moet je zelf uitzoeken hoe het zit.... Beetje leren kan geen kwaad
Dus...
Edit:
Als je je pass moet veranderen dan moet die check erin ja maar als je wilt registreren niet PS. Jij hoeft het niet te doen, mag ook iemand anders.
Gewijzigd op 16/05/2005 17:50:00 door Jesse
iemand nog wat te zeggen?? ( op mijn vraag )
Jesse:
ik heb een inlogscript op phphulp overgenomen en erg veranderd.
Ja, maak zelf een inlog script :P