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

Člen

Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Tím "blbý údaje" máš na mysli špatné přihlašovací jméno nebo heslo?
Prostě mě to přesměruje na
index.php?page=msg&function=login&type=bad, což mi zobrazí chybu.
Nic konkrétnějšího
Nějak jsem nepobral tuto část scriptu:
$dotaz = Db::query("SELECT * FROM uzivatele WHERE nick = ? AND heslo = ?", $nick, $heslo);
$stav = 0;
while($udaj == $dotaz) {
$stav = $stav + 1;
$id = $udaj['id'];
}
Nevím, co přesně vrací metoda Db::query(), ale ten while je nějaký
nesmyslný. Porovnáváš tam proměnnou $udaj (která mimo jiné neexistuje) s
proměnnou $dotaz, což je výsledek metody Db::query().
Pak je ten while nesmyslný v tom, že hledáš přece jen jednoho uživatele,
tak tam nepotřebuješ cyklus.
Ano, je to nesmysl... v bezradnosti vyplodím cokoli
Přemýšlej - prakticky jediné, co potřebuješ, je, aby se z DB vytáhlo ID uživatele podle jeho jména a hesla. Vyhledaný záznam projdeš a pokud se dané ID našlo, uložíš ho do session a přesměruješ. Pokud ne, hodíš error hlášku.
Nepotřebuješ na to cyklus, jen nějakou metodu fetch(). Nevím, jak vypadá struktura třídy Db, ale předpokládám, že tam něco takového je.
Zobrazeno 6 zpráv z 6.