NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 11 - Skládání stránek v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Walter
Člen
Avatar
Odpovídá na Adam Bouček
Walter:11.2.2019 7:07

Našel jsem toto řešení:
Navigate to <Netbeans installation directory>/etc and open the netbeans.con­f file.

Add -J-Dfile.encoding=UTF-8 at the end of the line that starts with netbeans_de­fault_options (ma­ke sure to include the leading space).

Restart Netbeans and it should be in UTF-8

To verify go to help -> about and check System: Windows Vista version 6.0 running on x86; UTF-8; nl_NL (nb)

 
Odpovědět
11.2.2019 7:07
Avatar
Walter
Člen
Avatar
Odpovídá na Jan Poláček
Walter:11.2.2019 7:07

Díky, vyřešeno

 
Odpovědět
11.2.2019 7:07
Avatar
Petr Oliva
Člen
Avatar
Petr Oliva:20.4.2019 10:40

Ahoj, možná hloupá otázka, ale nerozumím proč se vypisuje rovnou obsah načítaného souboru, když jej vkládám do proměnné $vlozeno? Nikde nevidím echo $vlozeno, nebo něco takového.

$vlozeno = include('podstranky/' . $stranka . '.php');

Jde mi o to, že by mělo jít tento obsah načítat na začátku souboru, vložit do proměnné a pak vypsat na příslušném místě. Podobně jako to navrhuješ u výpisu <title> nebo nadpisu. Nebo je toto nebezpečné? Nevím, prosím o vysvětlení. Děkuji

 
Odpovědět
20.4.2019 10:40
Avatar
Petr Oliva
Člen
Avatar
Odpovídá na Petr Oliva
Petr Oliva:21.4.2019 11:50

špatně jsem to formuloval. Jak čtu v dalších lekcích, jistě by šlo tu část s načtením $stranka

if (isset($_GET['stranka']))
        $stranka = $_GET['stranka'];
else
        $stranka = 'domu';
if (preg_match('/^[a-z0-9]+$/', $stranka))
{

jako funkci. Ale to úplně zatím nevím jak, protože nerozumím tomu co jsem psal předtím.

 
Odpovědět
21.4.2019 11:50
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Petr Oliva
David Hartinger:21.4.2019 12:09

Občas je dobré si projít článek znovu. Cituji jeho část:

Funkce bere jako parametr opět cestu k souboru a obsah hned vypíše. Pokud je v souboru nějaká PHP sekvence, tak ji spustí.

require() obsah souboru nevrací, ale vypisuje. include() dělá to samé, myslím, že vrací zda se to povedlo nebo ne. Proto se ti do proměnné článek neuloží. Vložit kód do funkce ti nic nebrání, jen jsou probírány až dále v kurzu.

Editováno 21.4.2019 12:13
Odpovědět
21.4.2019 12:09
New kid back on the block with a R.I.P
Avatar
Jaroslav Strmiska:27.5.2019 17:05

Mám takovou zkušenost, že pokud volám v layoutu původní stránky .html s přejmenovanou příponou na .php, tak se zobrazí text i obrázky. Pokud je na stránce tabulka, tak ta už ne, jen text bez rámečků. Mělo by to fungovat nebo se to řeší až v dalších lekcích?
Děkuji za odpověď.

 
Odpovědět
27.5.2019 17:05
Avatar
Stivko
Člen
Avatar
Stivko:5.6.2019 20:16

Zdravím,

Udělal jsem vše dle návodu a nějak mi to nefunguje. Např. pokud si chci nechat zobrazit text přes echo, zobrazí se mi dvakrát po sobě. Co mě ale více štve je to, že mi nefungují podmínky a když zadám neplatnou stránku, tak mi jí to normálně hledá... a nevypíše se zpráva o špatném zadání odkazu.

Viz kód.

 <nav>
        <ul>
            <li><a href="index.php?stranka=domu">Domů</a></li>

            <li><a href="index.php?stranka=cenik">Ceník</a></li>

            <li><a href="index.php?stranka=formular">Formulář</a></li>
        </ul>
    </nav>
</header>
<?php
    require('podstranky/' . $_GET['stranka'] . '.php');


    if(isset($_GET['stranka']))
        $stranka = $_GET['stranka'];

    else
        $stranka = 'domu';

    if (preg_match('/^[a-z0-9]+$/', $stranka)) {
        $vlozeno = include('podstranky/' . $stranka .'.php');
        if (!$vlozeno)
            echo ('Podstránka nenalezena');

    }
    else
        echo ('Neplatný parametr');


?>
Odpovědět
5.6.2019 20:16
Nikdy není pozdě začít s něčím novým
Avatar
Odpovídá na Stivko
Martin Konečný (pavelco1998):5.6.2019 20:26

Ahoj, to je jednoduše kvůli tomu řádku s require() hned za otevírací značkou PHP. Vyhoď tenhle řádek a bude to OK.

Jinak zásadně doporučuji dělat bloky i u podmínek, kde se vykonává jen jeden příkaz.

A ještě bych spíš místo testování if ($vlozeno) dal raději prvně podmínku

if (file_exists(cesta k souboru)) {
        include ...;
} else {
        echo "Podstránka nenalezena";
}
Odpovědět
5.6.2019 20:26
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Stivko
Člen
Avatar
Odpovídá na Martin Konečný (pavelco1998)
Stivko:5.6.2019 20:28

Ahoj,

Děkuji moc. Trápím se tady s tím a nemohl jsem přijít na to, kde je chyba. Co se týče bloků, ty jsem dělal a dělám vždycky :D jen jsem v zoufalosti, když jsem hledal problém raději i ty podmínky udělal dle návodu, kde je v bloku neměl.

Odpovědět
5.6.2019 20:28
Nikdy není pozdě začít s něčím novým
Avatar
Odpovídá na Stivko
Martin Konečný (pavelco1998):5.6.2019 20:53

Ok, tak to je v pořádku :D

Odpovědět
5.6.2019 20:53
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 159.