Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 10. diel - Skladanie stránok v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
David Hynek
Tvůrce
Avatar
Odpovedá na 666responsible
David Hynek:1.9.2014 12:56

tak předpokládám, že chyba bude v cestě k souboru. Ale rozhodně bych byl opatrný s vkládáním samotného GETu bez kontroly.

jinak:

$obsah = file_get_conten­ts("podstranky/{$_GET['s­tranka']}.html");
echo $obsah;

Editované
Odpovedať
Čím víc vím, tím víc věcí nevím.
Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovedá na 666responsible
Juraj Mlich:1.9.2014 13:13

Chyba je v tom, že pristupuješ k prvku poľa, ktorého index neexistuje. Zjednodušene - pole, uložené v $_GET, neobsahuje index "stranka".

Avatar
danhill
Člen
Avatar
Odpovedá na Juraj Mlich
danhill:4.11.2014 21:59

Ahoj, mám stejný problém. Ty "warningy" u
if (isset($_GET['s­tranka'])) {
$stranka = $_GET['stranka'];
}

Ale neporozuměl jsem Tvé odpovědi, jak to opravit.
Mohu poprosit ještě o dodatečné vysvětlení?
Děkuji moc.

Odpovedať
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
danhill
Člen
Avatar
Odpovedá na danhill
danhill:4.11.2014 22:09

Omlouvám se, po bližším ohledání mám asi jiný problém (již nelze editovat), vkládám tedy dotaz znova:

Ahoj, mám podobný problém.

$vlozeno = include('podstran­ky/' . $stranka . '.php');
if (!$vlozeno)
echo('Podstránka nenalezena');

Tak když zadám např.: /index.php?stran­ka=neco (neco na mém webu nexistuje)
Tak bych očekával,že se mi vypíše pouze to echo('Podstránka nenalezena');

ale navíc to na mě vyhodí warning:

Warning: include() [function.include]: Unable to access podstranky/neco.php in /data/www/xxx­.cz/php.xxx.cz/in­dex.php on line 42

Warning: include(podstran­ky/neco.php) [function.include]: failed to open stream: No such file or directory in /data/www/xxx­.cz/php.xxx.cz/in­dex.php on line 42

Warning: include() [function.include]: Failed opening 'podstranky/ne­co.php' for inclusion (include_path='­.:/usr/local/php5/lib­/php') in /data/www/xxx­.cz/php.xxx.cz/in­dex.php on line 42
Podstránka nenalezena

Děkuji za pomoc.

Editované
Odpovedať
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
Odpovedá na danhill
Martin Konečný (pavelco1998):4.11.2014 22:33

Můžeš tam hodit podmínku, jestli ten soubor existuje.

if (file_exists($soubor)) {
  include $soubor;
} else {
  echo "stránka neexistuje";
}
Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
danhill
Člen
Avatar
Odpovedá na Martin Konečný (pavelco1998)
danhill:5.11.2014 18:20

Aha, děkuji.
Znaméná to, že ty warningy jsou v pořádku?
Mimochodem čím definuji proměnnou $soubor? To jako,že si do ní vypíšu existující stránky ve složce podstránky?

Odpovedať
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
Odpovedá na danhill
Martin Konečný (pavelco1998):5.11.2014 19:00

S těmi warningy záleží, jak to myslíš. V pořádku je, že se to tak chová. Že ti to hází chyby, už v pořádku není. :D
Hlavně nepotlačuj chyby pomocí zavináče, to se dělá jen ve výjimečných případech.

Ta proměnná $soubor obsahuje cestu k souboru. Nechtělo se mi to celý vypisovat, ale je to to, co píšeš v tom includu

'podstranky/' . $stranka . '.php'

Já jen moc nemám rád takhle složený stringy, tak si to radši uložím do proměnný.

Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
danhill
Člen
Avatar
Odpovedá na Martin Konečný (pavelco1998)
danhill:5.11.2014 21:45

Super, děkuji moc za pomoc.
Měl bych hned další dotaz, který souvisí více méně sice až s dalšími lekcemi,ale u téhle to začalo.
Do stránky kontakt jsem nasunul formulář pro mail,který jsme tady tvořili dříve.
Dokonce se mi podařilo využít vlastní funkce z knihovnou z lekce 14 a 15.
Ale trochu jsem zmatený z funkce header, která mi v tuto chvíli nechodí.
Původní zápis byl :
header('Location: mailform.php?us­pech=ano');

No jo,ale co do Location napíšu nyní, když stránka s formulářem má tvar
index.php?stran­ka=kontakt

Odpovedať
Nikdy není tak zle, aby nemohlo být ještě hůře.
Avatar
Odpovedá na danhill
Martin Konečný (pavelco1998):5.11.2014 22:31
// ... kód na odeslání mailu

header("location:index.php?stranka=kontakt&uspech=ano");
exit;

Pokud předpokládám správně, že se po odeslání formuláře přesměruje na tu samou stránku, tak ten parametr stranka necháš a přidáš tam další parametr uspech=ano.
Pokud máš v URL více parametrů, můžeš použít proměnnou $_SERVER["REQU­EST_URI"], která obsahuje URL včetně parametrů. Vypadalo by to pak asi takhle:

$url = $_SERVER["REQUEST_URI"] . "&uspech=ano";
header("location:" . $url);
exit;
Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
mkores.mk
Člen
Avatar
mkores.mk:5.3.2015 18:37

Ahoj,mám možná pěkně debilní dotaz, ale nemůžu si ho odpustit. Jak převedu .html dokument na .php? Dělal jsem si HTML stránky podle návodu zde na webu a teď tedy do nich chci přidat php. Stačí jenom přepsat příponu?

Díky za odpověď :)

Editované
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 160.