wachtwoord probleem
Op zich werkt het bijna helemaal, alleen, er is iets mis met het random genereren van dat getal. Hij genereert namelijk altijd hetzelfde getal. Wat ervoor zorgt dat als ik mijn twee fictieve gebruiks tijdens mijn test een nieuw wachtwoord aanvroeg, zij hetzelfde getal kregen.
Hier de code, graag uw advies
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
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
<?php
$host = "localhost";
$dbusername = "";
$password = "";
$db = "login";
mysql_connect("$host", "$dbusername", "$password") or die ("connecten met server is mislukt"); // verbinden aan server
mysql_select_db("$db") or die ("kan geen verbinding maken met de database"); // verbinding maken met database
if(isset($_POST['login']))
{
$mail = $_POST['Email'];
$nick = $_POST['nickname'];
if($nick != "")
{
$Sql = "SELECT * FROM gebruikers WHERE GebruikerNickname = '$nick' AND GebruikerEmail ='$mail'";
$uitvoeren = mysql_query($Sql);
$record = mysql_fetch_object($uitvoeren);
// controleren of nickname en mail hetzelfde is als in DB
if ($nick == $record->GebruikerNickname and $mail == $record->GebruikerEmail)
{
// bepalen welke gebruiker je wil behandelen
$controle = "SELECT COUNT(GebruikerId) WHERE GebruikerEmail = '$mail'";
$uitvoeren = mysql_query($controle);
$record = mysql_fetch_object($uitvoeren);
//echo mysql_error();
// aanmaken random psw bestaande uit 6 getallen
$psw = mt_rand(100000, 999999);
//mailen van psw, het psw is hier nog niet gecodeerd
//mail($mail,$subject,$psw);
// psw coderen en in andere variabele steken
$wachtwoord = md5($psw);
// wachtwoord van gebruiker veranderen daar waar email overeenkomt
$nieuwpsw = "UPDATE gebruikers SET GebruikerWachtwoord = '$wachtwoord' WHERE GebruikerEmail = '$mail'";
$run = mysql_query($nieuwpsw);
$record = mysql_fetch_object($run);
echo $nieuwpsw;
// bericht dat het gelukt is
$output = " U zal binnen enkele ogenblikken een email ontvangen met een nieuw wachtwoord ...";
echo "<br>";
echo $psw;
}
// als nick of mail verschilt, foutmelding geven
else if ($nick != $record->GebruikerNickname or $mail != $record->GebruikerEmail)
{
$output = "Uw inloggegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
}
}
echo $output;
//echo "<hr>";
}
else
{
?>
$host = "localhost";
$dbusername = "";
$password = "";
$db = "login";
mysql_connect("$host", "$dbusername", "$password") or die ("connecten met server is mislukt"); // verbinden aan server
mysql_select_db("$db") or die ("kan geen verbinding maken met de database"); // verbinding maken met database
if(isset($_POST['login']))
{
$mail = $_POST['Email'];
$nick = $_POST['nickname'];
if($nick != "")
{
$Sql = "SELECT * FROM gebruikers WHERE GebruikerNickname = '$nick' AND GebruikerEmail ='$mail'";
$uitvoeren = mysql_query($Sql);
$record = mysql_fetch_object($uitvoeren);
// controleren of nickname en mail hetzelfde is als in DB
if ($nick == $record->GebruikerNickname and $mail == $record->GebruikerEmail)
{
// bepalen welke gebruiker je wil behandelen
$controle = "SELECT COUNT(GebruikerId) WHERE GebruikerEmail = '$mail'";
$uitvoeren = mysql_query($controle);
$record = mysql_fetch_object($uitvoeren);
//echo mysql_error();
// aanmaken random psw bestaande uit 6 getallen
$psw = mt_rand(100000, 999999);
//mailen van psw, het psw is hier nog niet gecodeerd
//mail($mail,$subject,$psw);
// psw coderen en in andere variabele steken
$wachtwoord = md5($psw);
// wachtwoord van gebruiker veranderen daar waar email overeenkomt
$nieuwpsw = "UPDATE gebruikers SET GebruikerWachtwoord = '$wachtwoord' WHERE GebruikerEmail = '$mail'";
$run = mysql_query($nieuwpsw);
$record = mysql_fetch_object($run);
echo $nieuwpsw;
// bericht dat het gelukt is
$output = " U zal binnen enkele ogenblikken een email ontvangen met een nieuw wachtwoord ...";
echo "<br>";
echo $psw;
}
// als nick of mail verschilt, foutmelding geven
else if ($nick != $record->GebruikerNickname or $mail != $record->GebruikerEmail)
{
$output = "Uw inloggegevens kloppen niet, klik <a href=\"".$_SERVER['PHP_SELF']."\">hier</a> om nogmaals te proberen.";
}
}
echo $output;
//echo "<hr>";
}
else
{
?>
<table cellpadding="1" cellspacing="1" width="230" align="center">
<form action="?" method="post">
<tr>
<td align="right">Nickname:</td><td><input tabindex="1" type="text" name="nickname" id="naam" class="field" style="width: 120px;" value="" onfocus="inloggen(1)" onblur="inloggen(1)" /></td>
</tr>
<tr>
<td align="right">Email:</td><td><input tabindex="2" type="text" name="Email" id="wachtwoord" class="field" style="width: 120px;" value="" onfocus="inloggen(2)" onblur="inloggen(2)" /></td>
</tr>
<tr>
<td> </td><td><input tabindex="3" type="submit" name="login" id="login" class="button" value="Recover" /><br /><br /><a href="?page=lostpass" <br /><a href="?page=register" class="smalllink">Account registreren</a></td>
</tr>
</form>
</table>
Gewijzigd op 01/01/1970 01:00:00 door Kristof s
heb t zelf opgelost , geen hulp meer nodig hier