Autor Zpráva
Pavel Vodnář
Profil *
Dobrý den, potřeboval by jsem poradit jak s tímto kódem naložit - kód umí ověřit zda je uživatel registrovaný, když ne vypíše uživatel nenalezen.

Nicméně nedaří se mi přijít na to jak ověřit když je uživatel nalezen zda bylo zadáno správné heslo - kde mám chybku v kódu? Děkuji Vám


// kontrola údajů
if ($submit)
{



$connect = mysql_connect ("$localhost","$user","$pass") or die("Nepodařilo se připojit k databázi");

mysql_select_db ("sroty_net_"); //select database

//zkouka existence jmena

$zkouskajmena = mysql_query("SELECT uzivatelskejmeno FROM klienti WHERE uzivatelskejmeno='$name'");
$count = mysql_num_rows($zkouskajmena);	

// zkouska existence hesla u daného jména
$zkouskahesla= mysql_query("SELECT heslo FROM klienti WHERE uzivatelskejmeno='$name'");
$count1 = mysql_num_rows($zkouskahesla);	

if ($count==0)
{

$obsazeno ="Uživatelské jméno nenalezeno";

}


if (($count!=0)&&($count1!=0))

{

$uzivatelnalezen ="Zadali jste špatné heslo";

}

}
Alphard
Profil
Ten druhý dotaz nepotřebujete. V prvním si vytáhněte i heslo a pak stačí porovnat $hesloDb == sha1($_POST['heslo']), pokud teda používáte zrovna sha1().
Ochranu proti sql injection určitě máte v předchozí části kódu :-)
xmark
Profil
Zkontroloval bych řádky 13 a 17. Opravil do očí bijící chyby a pak ty dva dotazy spojil do jednoho do podoby:
SELECT neco FROM tabulka WHERE neco = '$name' AND  necojineho = '$heslo' 
Pavel Vodnář
Profil *
Děkuji Vám už to běží jak má
Dědeček
Profil *
Proč nepoužít jednoduše
if(mysql_result(mysql_query("select count(*) from **** where **** = '****' and ****= '*****'"), 0, 0))
? :)
pcmanik
Profil
Dědeček:
Preco by mal pouzit mysql_result? Ta funkcia je pomala, oplati sa viac mysql_fetch_array.
A aj tak ta podmienka bude vzdy vyhodnotena kladne, ak bude count 1, 0 ale kludne aj 1000 takze je to hlupost...

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: