Diskuze: Přihlašování
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Já se tam nevyznám v těch jednoduchých uvozovkách toho SQL příkazu, je
tam tuším jedna možná víc navíc, nemůže to být tím?
Protože proměnná $query neobsahuje pole dat z DB. Musíš to ještě projít nějakou funkcí, např. mysql_fetch_assoc().
Btw, do session bys měl uložil hlavně ID uživatele a roli (admin apod.). Jméno a IP není třeba.
Edit: Mám pocit, že funkce mysql_fetch_* vrací FALSE, když se nenalezl žádný záznam. Proto tam mysql_num_rows() vůbec nepotřebuješ a stačí ti:
$query = mysql_query("SELECT `id`, `admin` FROM ...");
$data = mysql_fetch_assoc($query);
if ($data !== FALSE) {
$_SESSION["uzivatelId"] = $data["id"];
$_SESSION["admin"] = $data["admin"];
} else {
// chyba, podle jména a hesla se nic nenalezlo
}
Děkuji moc Martine. Zkusil jsem to, jak si řekl a povedlo se. Tedy sice
nějak po 5 minutách (dříve jsem už udělal asi milión pokusů, ty se
teprve teď ukázaly ).
Takže vše funguje tak jak má a já konečně mohu pokračovat ve své
tvorbě. Ještě jednou děkuji.
Nemáš zač. Když tak se podívej na rozdíl mezi mysql_fetch_row(), mysql_fetch_assoc() a mysql_fetch_array().
Úplně v nejlepším případě by ses ale měl podívat na PDO. Funkce mysql_* jsou zastaralé a
budou z PHP odstraněny.
pozor na jednu bezpečnostnú chybu!!!
za presmerovaním cez header je vždy potrebné ukončiť skript pomocou
exit; (alebo exit(); die; die(); - čo je vlastne to isté ale
odporúčam exit)
header('Location: http://application.wz.cz/administrace.php');
exit;
Zobrazeno 9 zpráv z 9.