Wat is hier mis mee? Hij geeft altijd de error:
de wachtwoorden komen niet overeen.


if($_POST['password']==$_POST['password2']){
echo "De <b>wachtwoorden</b> komen niet overeen.<br>Klikt u <a href=javascript:history.back()>hier</a> om terug te gaan";
}
Ik heb een beter idee :P

Je maakt een pagina met een formulier.
Daarop 2 velden, username & email.
Als deze matchen stuur je een nieuw wachtwoord naar het mailadres van de betreffende account met de boodschap deze zo spoedig mogelijk naar een eigen wachtwoord om te zetten :)
RT: ik ben ver van ervaren... een half jaar geleden wist ik niet wat php was, laat staan mysql...
Het is niet zo moeilijk, ga gewoon de uitdaging aan... is allemaal zuiver logica die je moet inbouwen...

@Mitch: Possible :) maar ik verkies mijn manier ;)
Mitch, dit lijkt me een simpelere manier, ik begrijp hem beter, een vraag:

hoe vergelijk je twee velden uit een database?
<?
$temp_query = mysql_query("SELECT email FROM db WHERE username='" . $_POST['username'] . "'");
if ($row = mysql_fetch_array($temp_query)) {
if ($row['email'] == $_POST['email']) {
// Succes
} else {
// Fout
}
} else {
echo "Gebruikersnaam bestaat niet."
}
?>

Simpele manier...
<?
$temp_query = mysql_query("SELECT email FROM db WHERE username='" . $_POST['username'] . "'");
if ($row = mysql_fetch_array($temp_query)) {
if ($row['email'] == $_POST['email']) {
// Succes

// Als ik het goed begrijp wordt hier dus een nieuw wachtwoord gemaakt?
} else {
// Fout
}
} else {
echo "Gebruikersnaam bestaat niet."
}
?>
Ja :) dus daar zet ja dan bvb
<?
// $nieuwe_wachtwoord, een random woord laten generen
mysql_query("UPDATE db SET wachtwoord='" . md5($nieuwe_wachtwoord) . "' WHERE username='" . $_POST['username'] . "'");
mail(); // zelf maar instellen ;)
echo "Ww gewijzigd, bekijk je mail ofzo...";
?>

Edit: typo
Edit2: md5(); vergeten
En nieuw wachtwoord maak je dan door zoiets als:
<?php
$waarden = array('a', 'b', 'c', 'd', 'e', 'f', 0, 1 , 2 , 3 , 4 , 5 ,6 , 7 , 8, 9);
for($i=0;$i<6;$++)
{
$var = random(0,15);
$newpass .= $var;
}
# En dan is $newpass zoiets als aabbcc of c1d7a0, etc ...
?>
Hmmm bedankt Mitch :p door jouw uitleg om een woord te genereren, snap ik dit :p Had hier al tuts over gezien, maar nu begrijp ik het pas :/

Edit: typo
Oke bedankt jongens, kijken of ik hier wat mee kan (begrijp me niet verkeerd)
Dus zoiets als dit (is natuurlijk nog niet klaar)

<?

include(\"config.php\");

$db=mysql_connect($dbhost,$dbuser,$dbpassword);
mysql_select_db($dbname,$db);

$temp_query = mysql_query(\"SELECT email FROM ledensysteem WHERE username=\'\" . $_POST[\'username\'] . \"\'\");
if ($row = mysql_fetch_array($temp_query)) {
if ($row[\'email\'] == $_POST[\'email\']) {

mysql_query(\"UPDATE db SET wachtwoord=\'\" . md5($nieuwe_wachtwoord) . \"\' WHERE username=\'\" . $_POST[\'username\'] . \"\'\");
mail(); // zelf maar instellen ;)
echo \"Ww gewijzigd, bekijk je mail ofzo...\";

} else {
// Fout
}
} else {
echo \"Gebruikersnaam bestaat niet.\"
}
?>



Een vraag, ik moet dus een formulier maken met daarin de velden email en username of username en password?

Reageren