Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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;
		}
    }
Předmět Autor Datum
a echem jsi si je před tim IFem neprintnul?
AZOR 03.05.2012 17:40
AZOR
Ne... melo by to takhle fungovat, fungovalo to kdyz jsem zkousel hesla v plaintextu, ale ted jsou ta…
Swix 03.05.2012 17:49
Swix
:-) fajn znacim jako vyreseno, ono je lepsi se je vzdy vytisknout pred, kdyz je tam porovnávátko, kt…
AZOR 03.05.2012 18:08
AZOR
Jo, priste si dam pozor, dekuji :) poslední
Swix 03.05.2012 18:11
Swix

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);

Zpět do poradny Odpovědět na původní otázku Nahoru