While PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tijme Teimj

Tijme Teimj

22/12/2011 16:07:56
Quote Anchor link
Beste phpers,

Ik heb een vraagje over while in php. || http://goo.gl/qPPEB ||

Als iemand zijn wachtwoord is vergeten op de bovenstaande site kan die gene een reset link aanvragen.

Reset link:

1. Een random getal word aangemaakt.
2. Het word achter mijn link geplakt http://www.------.nl/notation/reset/...p?activate=HET RANDOM GETAL
3. Als de user hier op klikt word zijn account geselecteerd doormiddel van Select * Where activate = $activate

Dit werkt allemaal maar nu heb ik een probleem.
Het is dan wel een kans van 1 op n miljoen maar het kan dus zijn dat er een keer dezelfde random key word gegenereerd.

Ik heb de randomcode nu alleen even op 1 of 2 gezet zodat ik kan zien of hij de error geeft.

Dit wil ik graag voorkomen en dat heb ik geprobeert doormiddel van deze code:

__________________________________________________________________________

// Kijken of key bestaat.
$count = 0;
$activationkey = rand(1,2);
$aantal = mysql_query("SELECT COUNT(n_activatekey) as numrecords FROM users WHERE n_activatekey = '$activationkey'");
$row = mysql_fetch_assoc($aantal);
while ($row['numrecords'] >= 1){

$activationkey = rand(1,2);
if ($count >= 100) {

header("Location: ../index_register.php");
$_SESSION['notation_error'] = $error_endlesskey;
break;

}

$aantal = mysql_query("SELECT COUNT(n_activatekey) as numrecords FROM users WHERE n_activatekey = '$activationkey'");
$row = mysql_fetch_assoc($aantal);
$count = $count + 1;

}

______________________________________________________________

Het probleem is dat deze code niet werkt. Hij zou een error moeten geven maar die error geeft hij niet als er twee dezelfde forget keys in de database komen.

Weet iemand wat ik fout heb gedaan?

Alvast bedankt,
Tijme
 
PHP hulp

PHP hulp

27/12/2024 13:53:10
 
Erwin H

Erwin H

22/12/2011 16:11:36
Quote Anchor link
Waarom sla je niet en de key op en het user_id? Als je dan ook die userid meegeeft in de link weet je zeker dat een dubbele key geen probleem meer is. Helemaal als je ook nog de user_id een unieke waarde maakt in je database.
 
Tijme Teimj

Tijme Teimj

22/12/2011 16:13:10
Quote Anchor link
Kijk, daar heb ik zelf niet aan gedacht, ik zal het gaan maken!

Bedankt!!!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.