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.

Člen

Zobrazeno 38 zpráv z 38.
//= 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.
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);
Díki David
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.