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: http://www.phphulp.nl/php/scripts/8/91/
Oud wachtwoord controleren, nieuwe wachtwoorden controleren of ze gelijk zijn aan elkaar... tabel updaten...
Maar het is zonder Mysql...

Edit: Kun je ff een klein scriptje posten?
<?
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>

<?
}
? >
?>

Zoiets...

Niet vergeten de spaties tussen alle < ? en ? > weg te halen...

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...
Bedankt ik zal het aanpassen en gebruiken ;)

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)
type="text" moet type="password" worden.
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/reddice/public_html/register.php on line 80

iemand een oplossing? :(
waarom zou ik dit commando niet mogen gebruiken?
Omdat je query ongeldig is? :)
<?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
}
?>

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
doh, ik ben echt dom soms
:/
al opgelost
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?
Want nu stuurd hij hem namelijk naar mijn eigen email en dat hoort niet... ( dus verandert het aub voor me ) :)

Reageren