Autor Zpráva
one
Profil
Čau, včera jsem se tu ptal na problém ohledně exitu, dostal jsem velice dobrou radu, jenže při 'opravování' podle té rady mi přestal fungovat tento kód a ja nemůžu přijit na to proč:


$sql_frozen_check = $db->sql_query("SELECT COUNT(*) AS `frozened` FROM `account` WHERE `account_name` = '".$accountname."' AND `frozen_account` > NOW() LIMIT 1");
$frozen_check = mysql_fetch_array($sql_frozen_check);
$frozened = $frozen_check["frozened"]>=1;
if(!$frozened) {

$sql_failedlogin_check = $db->sql_query("SELECT NOW() < `frozen_account` FROM `account` WHERE `account_name` = '".$accountname."' AND `failed_logins` = '3' LIMIT 1");
$failedlogin_check = $db->sql_numrows($sql_failedlogin_check);
if($failedlogin_check == 0) {
$db->sql_query("UPDATE `account` SET `failed_logins` = '0', `frozen_account` = NOW() + INTERVAL 5 MINUTE WHERE `account_name` = '".$accountname."' LIMIT 1");


...dále kontrola zda souhlasí název účtu a heslo které uživatel zadal s tím v databázi
,pokud učet existuje ale uživatel zadal blbé heslo, přopočteme položce v databázi failed_logins +1:


$db->sql_query("UPDATE `account` SET `failed_logins` = failed_logins +1, `last_failed_login` = NOW() WHERE `account_name` = '".$accountname."' LIMIT 1");


...zde už je výpis chybových hlášek

->tento kód má sloužit na to, když uživatel 3x po sobě zadá blbě přihlaš. údaje, tak se mu účet na 5min zamrazí, až se mu odmrazí, tak se failed_logins nastaví opět na 0, aby se script neopakoval pořád dokola
->failed_logins na 0 se také nastavuje při úspěšném přihlášení

=>problém je v tom, že když poprvé zadám špatně heslo tak se failed_logins nastaví na 1, jenže i frozen _account, takže se účet zamrazí, a ja nechápu proč :-/

snad jsem na nic nezapoměl, kdyžtak to ještě připíšu...

děkuji za pomoc
one
Profil
možná v tomhle problém nebude, zkusim ještě zkontrolovat ty chybové hlášky...

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: