Anonymní profil Xena – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Xena – Programujte.comAnonymní profil Xena – Programujte.com

 

Příspěvky odeslané z IP adresy 89.103.183.–

Xena
PHP › Login php msql
2. 12. 2014   #196815

#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... 

Xena
PHP › problem s globální proměnou
19. 11. 2014   #196199

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

Xena
PHP › Login php msql
19. 11. 2014   #196196

Pošli link... :)

Xena
PHP › Login php msql
19. 11. 2014   #196193

Hmm, je vůbec to MD5 nutné?

Xena
PHP › Login php msql
19. 11. 2014   #196191

 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í?

Xena
PHP › Login php msql
19. 11. 2014   #196188

#6 Xena
Jen pro doplnění: 

$prihlasen = mysql_result(mysql_query("SELECT * FROM `uzivatele` WHERE `jmeno` = '$jmeno' and `heslo` = '$heslo'"), 0);

do prom. s id prihlasen se vloží numerická hodnota značící počet řádků v DB na základě SQL podmínky

Xena
PHP › Login php msql
19. 11. 2014   #196187

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š. :)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032022 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý