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


Zobrazeno 14 zpráv z 14.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.


Nemělo by tam být jen jedno "rovná se"?
if (mysql_num_rows($check_login) = 1) {
To opravdu ne. Jedná se o podmínku, nikoli o přiřazování hodnoty.
Sxmanek
Zkus si nechat vypsat, co je v
mysql_num_rows($check_login)
Hele, v databázi můžeš mít více stejných řádku, proto raději udělej toto:
if (mysql_num_rows($check_login) >= 1) {
A co se týče hesla, hashování prázdného řetězce ti nevrátí null, takže musíš udělat toto:
if (empty("$username") || empty( $_POST["password"] ))
// Nezahasovane heslo musis overit...
Už jsem to vyřešil
První chyba byla, že jsem měl špatně jeden řádek
$_SESSION_ = ["$user_id"];
a ta druhá, že md5 vrací 32 znaků řětezec a já měl nastaveno u hesla v databázi max. 30, takže mi to porovnávalo 32 s 30 = vždy 0 shoda. Ale s tím hashováním prázdného řetězce dík.
Ještě jedna věc, která je tu ohledně PHP vždy oblíbená: Používej
PDO.
Možná je ze začátku
těžší na pochopení, ale je to rozhodně dobrá investice. I já si
vzpomínám jak jsem přecházel z toho starýho na PDO, ale jsem za to rád.
Opravdu o tom uvažuj 
Kouknu na to
PHP ještě
moc neumím, takže říkáš, ať se to učím rovnou s PDO?
Ano. Jak s říká, že starého psa nenaučíš novým kouskům, tak je to
pravda. Je to přece logický, přechod na novou technoloii je vždy nějaký
problém. Když se PDO naučíš rovnou, nezahltíš si hlavu něčím starým.
Přece si taky nezačínal programovat v assembleru, tak proč se učit nějaký
starý přístup k db 
No a jak dlouho ti to vydrželo?
A mělo to pěkný nevýhody co? Tak proč se učit staré
technologie. Ano, někdy to smysl má, ale tohle to není 
Nechce se mi zakládat nové téma, abych nespamoval, zkouším to teda předělat s PDO a mám problém s počtem řádků.
$query = $connection->prepare("SELECT * FROM users WHERE username = ? OR mail = ?");
$query = $query->execute(array($username, $mail));
$rows = $query->fetchALL(PDO::FETCH_COLUMN, 0);
$numrows = count($rows);
Vypisuje chybu:
Fatal error: Call to a member function fetchALL() on a non-object
na sifrovanie hesiel a inych udajov nepouzivaj MD5, ale inu, lebo uz nie je bezpecna
Zobrazeno 14 zpráv z 14.