#19 Kit
Kdyby chtěl použít mysqli nebo pdo, tak o tom napíše, ale on chce s mysql query, tak mu dám mysql query. To, že se může stát adminem kdokoli je docela vysoké riziko, stejně tak jako bezpečnost použití MD5... Prostě celý návrh je na kočku...
Příspěvky odeslané z IP adresy 89.103.183.–
Ti dám lepší radu. :D
V login2.php máš session_start() po html textu, což má za následek to, že session v login2 nefunguje, proto podmínka:
if ($_SESSION['bezpecnost']==1) { echo "<center><h1>Vítejte admine</h1></center>"; echo "hlavní nabídka"; }
nemůže nikdy nastat, protoze ten soubor na session[bezpecnost] nevidí, i když na serveru existuje. Proto, zkuš ten fake head
<head> <title>Administrace</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" rel="nofollow" href="styly.css"> </head>
v login2.php a vlož session_start na 2. řádek souboru (po <?php samozřejmě )
Pošli link... :)
Hmm, je vůbec to MD5 nutné?
V tom případě máš špatné jméno nebo heslo. Zkontroluj záznamy a připojení k DB. Případně si zkus vypsat prihlasen. Jakou hodnotu ti tato prom. vrací?
Nechápu, proč ti Kit neporadí, když toto je tak jednoduchá záležitost a ty si nad tím lámeš hlavu už 2. den.
Řešení:
$prihlasen = mysql_result(mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$jmeno' and `heslo` = '$heslo'"), 0);
if($prihlasen == 0) { // "neco se pokazilo", resp. v DB nenalezen řádek s odpovídajícím jménem a heslem }
else if($prihlasen == 1) { $_SESSION['prihlasen'] = 1; echo "Prihlasen"; //prihlásen }
else if($prihlasen > 1) { // tato podmínka nikdy nesmí nestat (nejspíš už ji odchytáváš při registraci), znamená, že v DB je duplicitní záznam řádku }
Když si nebudeš vědět rady, tak klidně napiš. :)