Autor Zpráva
WiT
Profil *
Zdravím, potreboval by som help..
Mám funkčný guestbook(knihu) bez db, všetko sa mi zapisuje to txt. Písať môžu zatiaľ len anonymný, ale chcel by som to spraviť aj pre adminov na heslá samozrejme. Zatiaľ som to vyriešil takto

if($meno== 'Admin1' && $heslo != 'Heslo1') {
                   $t .= '<div class="error">&bull; '.$plugin_tx['gbook']['zadane_zle_heslo'].'</div>';
                   $gbook_komentar = false;  
}


Toto mi funguje tak ako chcem, keď zadá užívateľ s menom Admin1 zlé heslo nepridá komentár do knihy a hodí mu chybu.

Avšak ja by som to chcel spraviť tak, aby som mal v jednom súbore napr. hesla.php všetky mená a heslá adminov ... dajme tomu už v md5. A nemusel by som písať všetko ručne do scriptu (tak ako mam vyššie).

Vopred Ďakujem
Alphard
Profil
Tak si jména a hesla uložte do asociativního pole (buď přímo nebo rozparsujte texťák) a pak jen zkontrolovat:
if ($pole[$jmeno] == md5($heslo))
AM_
Profil
A co na tom přesně neumíš udělat?
bohyn
Profil
// soubor hesla.php
$admini = array("Admin1" => "hash_hesla",
    "Admin2" => "hash");

// kontrola hesla
if(isset($admini[$meno]) && $admini[$meno] != md5($heslo)) {
  $t .= '<div class="error">&bull; '.$plugin_tx['gbook']['zadane_zle_heslo'].'</div>';
  $gbook_komentar = false;
}


Edit: opravena zavorka
Majkl578
Profil
bohyn
neni ta podminka trochu nelogicka? spis takto ne?:
if(!isset($admini[$meno]) || $admini[$meno] != md5($heslo)) {
bohyn
Profil
Majkl578
nelogicka neni. Pokud existuje index meno tak zkontroluj uzivatele a heslo.
AM_
Profil
Alphard
Diakritika v klíči by nemusela ničemu vadit, pokud by byl problém s diakritikou, selže porovnávání jména ať už v klíči nebo hodnotě. Navíc takhle znemožníš duplicitní hesla, a když budou na webu registrovaní dva lidé a třetímu to zahlásí, že tohle heslo nemůže mít, protože už ho někdo používá, nebude to úplně dobře.
AM_
Profil
nelogicka neni. Pokud existuje index meno tak zkontroluj uzivatele a heslo.
vypadlo ti tam else, proto to vypadá, že se vypíše chyba, když to uživatel zadá správně.
Alphard
Profil
AM_:
Nevadí, jsem si toho vědom, ale rád se jí vyhnu. Ale s duplicitními hesly máš pravdu, opravím to.
bohyn
Profil
AM_
vypadlo ti tam else, proto to vypadá, že se vypíše chyba, když to uživatel zadá správně.
Else nevypadlo, ja jen kopiroval co tam mel WiT.
AM_
Profil
tak tam máš navíc } na řádku 7. A nelogické je to trochu pořád, chybu by to mělo zahlásit ikdyž $admini[$meno] neexistuje. Pravda, to už se dá udělat do další větve IFu, aby to hodilo textově jinou chybu (uživatel neexistuje X špatné heslo)
WiT
Profil *
To som si už upravil a funguje to, ďakujem všetkým za rady.. ono chybu hlásiť, keď meno nieje nemá, keďže môžu prispievať aj anonymný. Ak by sa vyskytol problém tak sa ozvem, zatiaľ ďakujem

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: