Zadejte hledaný výraz...

Php layout webu, vysvetleni promene

vigel
verified
rating uzivatele
25. 2. 2012 15:01:05
Ahoj, jsem zacatecnik a pokousim se o stranky pomoci php diky internetu se mi to povedlo, ale potreboval bych vystvetlit jednu vec. viz. nize pouzivam k nacitani obsahu bohuzel mi stale neni jasna promena $page. Mohl bz prosim nekdo popsat jak ten kod pracuje hlavne, nerozumim te podmince?
if (IsSet($_GET)) $page=$_GET;
else
$page="";
$pages = array(
'prvni' => 'stranky/prvni.php',
'druha' => 'stranky/druha.php',
'treti' => 'stranky/treti.php'//, // Pokud chces pridat pokracuj v polich
//'4' => 'stranky/4.php',
//'5' => 'stranky/5.php',
//'6' => 'stranky/atd.php'
);
if (isset($pages)) {
include($pages);
}
else //include 'stranky/404.php';
echo "Stránka neexistuje!!!!";
?>
jako prilohu prikladam velmi strohy, ale funkcni zaklad celeho webu, ktery urcite pomuze k pochopeni zacatecnikum jako ja.
25. 2. 2012 15:01:05
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735437
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
25. 2. 2012 15:22:10
proměnná $page se získává z url: www.example.cz?page=hodnota
if (IsSet($_GET)) $page=$_GET; //pokud je je page nastavena, nacti hodnotu do promenne $page
(podmínka se splní, když bude například stránka: www.example.cz?page=5, nesplní, když bude www.example.cz?list=5 nebo www.example.cz
isset() vrací true, pokud je proměnná nastavena a false pokud není nastavena
25. 2. 2012 15:22:10
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735436
Michal Skoula
verified
rating uzivatele
(18 hodnocení)
25. 2. 2012 15:23:39
$page přijme pomocí parametru GET hodnotu (v menu, je to to neco.php?page=prvni), třeba prvni, druha, treti, která se dále použije jako index pole v $pages
ta vrchní podmínka zjišťuje, zda v poli existuje prvek s indexem právě té $page, pokud ne, nastaví se na nic ("") a pak se dole vypíše stránka neexistuje
25. 2. 2012 15:23:39
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735435
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
25. 2. 2012 15:34:43
PS: doporučuji psát podmínky vždy s {}:
if (IsSet($_GET)){
$page=$_GET;
} else {
$page="";
}
a nebo využít zkrácené podmínky:
$page = IsSet($_GET) ? $_GET : "";
25. 2. 2012 15:34:43
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735434
vigel
verified
rating uzivatele
25. 2. 2012 15:47:28
mnohokrat dekuji , jeste se zeptam je tento kod spravne a bezpecny?
a jeste jedna vec, puvodne byla hodnota $page="main"; zmenil jsem to na $page = ""; + pridal else. Udelal jsem to dobre?
25. 2. 2012 15:47:28
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735433
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
25. 2. 2012 15:58:31
Ano, díky poli to máš zabezpečené, že se nedá podstrčit jiný soubor, než máš vypsané
jinak, pokud si nastavíš třeba $page="prvni", tak se ti zobrazí stránka www.example.cz?page=prvni i při zadání www.example.cz,
každopádně z hlediska SEO by to pak chtělo ještě ošetřit, aby zde nebyly duplicity
25. 2. 2012 15:58:31
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735432
vigel
verified
rating uzivatele
25. 2. 2012 16:03:54
Uz je mi to zcela jasne dekuji. A SEO urcite pomoci htaccess ze?
25. 2. 2012 16:03:54
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735431
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
25. 2. 2012 16:23:44
toto se zrovna nemusí řešit pomocí htaccess, zde by šlo udělat něco takového:
if (IsSet($_GET)){
$page=$_GET;
if($page=='prvni'){
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.example.cz");
header("Connection: close");
}
} else {
$page="prvni";
}
$pages = array(
'prvni' => 'stranky/prvni.php',
'druha' => 'stranky/druha.php',
'treti' => 'stranky/treti.php'//, // Pokud chces pridat pokracuj v polich
//'4' => 'stranky/4.php',
//'5' => 'stranky/5.php',
//'6' => 'stranky/atd.php'
);
if (isset($pages)) {
include($pages);
}
else //include 'stranky/404.php';
echo "Stránka neexistuje!!!!";
?>
tím se dosáhne, že pokud uživatel přijde na www.example.cz?page=prvni, automaticky ho to hodí na www.example.cz
pokud předpokládáme, že první bude index
PS: ten kod jsem psal přímo v editoru na webtrhu, tak to není extra přehledný
25. 2. 2012 16:23:44
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735430
vigel
verified
rating uzivatele
25. 2. 2012 16:36:03
naprosto "pro me :)" dokonale dekuji za vstrictnost, urcite toto pomuze hodne zacatecnikum.
25. 2. 2012 16:36:03
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735429
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
25. 2. 2012 16:39:50
za málo, až zvládneš tyto základy, tak se podívej na oop a doporučuji, framework Nette, který tě povede správnou cestou:-)
25. 2. 2012 16:39:50
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735428
vigel
verified
rating uzivatele
25. 2. 2012 17:11:03
No nette uz jsem zkousel ale moc jsem se nechytal. Ted zkousim CodeIgniter a libi s mi (hlavne diky videotutorialu na www.zajtra.sk).
25. 2. 2012 17:11:03
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735427
hm
verified
rating uzivatele
(20 hodnocení)
25. 2. 2012 17:22:00
frameworku je spousta a kazdej je lepsi nez zadnej :)) nicmene Nette ma DI coz treba Kohana ve ktere delam nema, coz mi prijde skoda, ale preucovat se na nette se mi uz nechce :) prisel bych o spousty modulu co uz mam napsany apod. :)
25. 2. 2012 17:22:00
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735426
Martin
verified
rating uzivatele
(62 hodnocení)
29. 2. 2012 22:07:30
Napsal vigel;764010
No nette uz jsem zkousel ale moc jsem se nechytal. Ted zkousim CodeIgniter a libi s mi (hlavne diky videotutorialu na www.zajtra.sk).
Jo, ten tutorial je fakt hodně dobrej.
29. 2. 2012 22:07:30
https://webtrh.cz/diskuse/php-layout-webu-vysvetleni-promene#reply735425
Pro odpověď se přihlašte.
Přihlásit