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


Zobrazeno 38 zpráv z 38.
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.


Pokud bys ten kód chtěl místo přesměrování jen vložit, použij funkci
readfile().
Vyriešil som to takto a už to funguje:
if ($heslo==123 and $name==meno123) {header("Location: abc.html");}
if ($heslo!=123 and $name!=meno123) {header("Location: bca.html");}
ale predsa diki za radu
Představ si, že tento nesmysl jede. Sice mi to vyhazuje 4 noticky, ale když jsou blokovány (default), tak se nevypíše nic a normálně to pošlape.
o tom, že to šlape nepochybuji. Přesměrování, není nic těžkého. Mne spíš zarazila kombinace, kdy vyžaduji heslo a pak přesměruji. Na tu stránku kam je uživatel po zadání hesla přesměrován, se dá dostat i bez znalosti hesla.
Tedy když už po uživateli vyžaduji heslo, použil bych po ověření hesla Session, kde by se uložilo právo uživatele k přístupu k citlivým datum.
Pak použít klidně i přesměrování, ale na každé stránce, by na začátku muselo být ověření, zda je Session platná pro vstup a v případě, že není, přesměrovat na přihlašovací stránku a vyžadovat přihlášení.
Ale to jen tak na okraj 
V jednom programu dodnes používám obyčejnou HTTP autentizaci a také to stačí. Je to mnohem lepší řešení než tohle.
Vím že je to nebezpečné ale neumím dobre udelat MySql takže nemuzu udelat normálne prihlasovani... Stránky na ktoré su ludia presmerovan maju číselné kódy takže je velmi malá šanca že ho niekto uhádne. A kód funguje ale hral som sa zním celý deň kedže z php len začínam.
to tě má právě popohnat aby ses to naučil.
Diki za link.... je to tam nejako zložite rozpisané 
Jedna otázka: Ked budeme robit masql musím meniť všetky svoje html/php kódy ?
Z charakterů tvých dotazů máš před sebou ještě spoustu práce.
AHOJ LIDI POTREBUJU POMOC. Tento kód hoe prestal fungovať dôvod fakt neviem prosím pomožte nejako... :/
Tak promiň...neumíš nejak pomoct ?
Umí, ale zkus nějak popsat problém, nevíme co s tím je ... vyhazuje php nějaký errory?
Tohle jekó ketrý šel a už nejde... 
<? $heslo = $_POST['heslo']; ?>
<?
if ($heslo==123 and $name==xxx) {header("Location: xxx1.html");}
if ($heslo!=123 and $name!=xxx) {header("Location: xxx.html");}
?>
Především se nauč všechny stringy psát do apostrofů nebo do uvozovek. Na tento způsob zápisu vůbec nejsme zvyklí, protože nám to hlásí chyby. A ty nemáme rádi.
Nevidím tam nikde definici proměnné $name. Bez ní to
fungovat nebude.
Kit vím že tam mám všechno zle proto se ptám aby ste mi pomohli vyresit to... jak vidím tak asi mi neporadíte.
Takže...Našiel som chybu jediné čo od vás žiadam je jedna vecička. Tento k=ód čo som vám dal hore funguje lenže ja tam chem pridať viac hesiel... Vidím že to nejde len tak pretože sa tie riadky if ked ich tam je viac automaticky blokujú...Preto chcem jedinú vec. Kód ktorý mi tie riadky if oddelí. Každý clovek ktorí saprihlasuje má svoje meno a heslo teda jeden riadok na heslo a nick ked sa odpoved rovná a druhá ked nie .... Potrebuje mich nejako oddelit... Prosím vás.
Nauč se základy jazyka a nesnaž se lepit hotový části do sebe, z toho
vzejde prasárna, která nebude fungovat jak chceš, nic z toho nebudeš mít a
my budeme zbytečně plýtvat časem 
Proč bychom ti měli radit, jak se máš střílet do nohy? Místo PHP si raději udělej HTTP autentizaci. Je to mnohem jednodušší a nepotřebuješ k tomu vůbec žádné PHP.
lepení hotových částí do sebe je dle mě relativně dobrej způsob jak se něco naučit má-li dotyčný pak i vůli si s tím pohrát a vyzkoumat cože to vlastně ve skutečnosti dělá
Mno nevím, myslím, že by bylo lepší se učit přímo objektovou formu...
jestli ti stačí něco prostého budiž
// před tímto kódem, nesmí být žádný výstup!!
$hesla = array(
"Honza" => array("Heslo","abc.html"),
"Jarda" => array("Takyheslo","abcd.html"),
"Monika" => array("Jineheslo","abcde.html"),
);
if($hesla[$_POST['jmeno']][0] == $_POST['heslo']) header("location: ".$hesla[$_POST['jmeno']][1]);
else header(location: neznam.html);
Dovolím si přidat trošku bezpešnosti
když už to chce takhle tak
dodám sleep a nějak ještě ošetřit post ne?
// před tímto kódem, nesmí být žádný výstup!!
$hesla = array(
"Honza" => array("Heslo","abc.html"),
"Jarda" => array("Takyheslo","abcd.html"),
"Monika" => array("Jineheslo","abcde.html"),
);
sleep(2);
if($hesla[$_POST['jmeno']][0] == $_POST['heslo']) header("location: ".$hesla[$_POST['jmeno']][1]);
else header(location: neznam.html);
To tam asi zůstalo z nějakých pokusů. Také občas zapomenu vyhodit z ukázky balast.
Mně nepřijde, že je to "zbytek z pokusů", převážně kvůli této
části věty: "když už to chce takhle tak dodám sleep ...". Z toho soudím,
že je to tam záměrně, ale nevím proč. 
Jestli chceš v PHP pomoct, tak mi napiš, nějak ti určitě pomůžu.
Takové kódy mi dávají pěstí do obličeje. 
Nemáš zač, jsem na chatu, jestli máš teda zájem.
Zobrazeno 38 zpráv z 38.