MySQL - chyba nacteni/porovnani hashe
Zdravim, mam funkci pro zmenu hesla, na predchozi strance se zada stare heslo($old_pwd), nove heslo(new_pwd a new_vpwd. Stare heslo se porovnava s dosavadnim heslem (je v md5) a pokud se shoduji, je heslo zmeneno, ale porad to hazi chybu 1, tzn ze heslo z db neni shodne se starym heslem....
Heslo je zadavano 100% spravne, dokaze nekdo pomoct, prosim?
if(($action=="setpass")&&(isset($old_pwd))&&(isset($new_pwd))&&(isset($new_vpwd))) { // nastaveni hesla // zmena hesla
if(!isset($auth_user))
header("Location: index.php?module=main");
$result=mysql_query("SELECT `pwd` FROM torch_users WHERE login='$auth_user'",$mysql);
if(mysql_num_rows($result)!=1)
header("Location: index.php?module=main");
$dosavadni_pwd=mysql_result($result);
$old_pwd = hash("md5",$old_pwd);
if($dosavadni_pwd!=$old_pwd) //Je hash z db shodny s hashem zadaneho dosavadniho hesla?
$pass_result=1;
elseif($new_pwd!=$new_vpwd) //Overeni, zda je nove heslo stejne v obouch inputech
$pass_result=2;
else {
$new_pwd = hash("md5", $new_pwd);
mysql_query("UPDATE torch_users SET `pwd`='$new_pwd' WHERE login='$auth_user'",$mysql);
$pass_result=0;
}
}
a echem jsi si je před tim IFem neprintnul?
Ne... melo by to takhle fungovat, fungovalo to kdyz jsem zkousel hesla v plaintextu, ale ted jsou tam v md5... a nevidim duvod proc to nejde...
E: Tak kdyz jsem si je ve funkci pred hashovanim vypsal echem tak promena $dosavadni_pwd je prazdna... jak to?
E2: Vyreseno, u mysql_result mi chyby parametry, spravne melo byt mysql_result($dosavadni_pwd,0,0);
fajn znacim jako vyreseno, ono je lepsi se je vzdy vytisknout pred, kdyz je tam porovnávátko, které nefunguje
Jo, priste si dam pozor, dekuji :)