Autor | Zpráva | ||
---|---|---|---|
vojtinec Profil |
#1 · Zasláno: 30. 7. 2008, 23:53:01
Mam problem s includem obsahu...jsem začátečník s php. Inkluduji stranku 1.html, ovšem když kliknu v menu na jakoukoliv jinou další inkludovanou stranku, tobrazi se pod strankou 1.html...jako že bych potřeboval aby se inkludované stránky vystřídaly...kód:
<table id="pozice"> <tr> <td> <a href="hlavni.php?stranka=novinky"> <b>Novinky</b></a> </td> <td> <a href="hlavni.php?stranka=zaliby"> <b>Záliby</b></a> </td> <td> <a href="hlavni.php?stranka=fotky"> <b>Fotky</b></a> </td> <td> <a href="hlavni.php?stranka=media"> <b>Media</b></a> </td> <td> <a href="hlavni.php?stranka=ejdm"> <b>Ejdm</b></a> </td> <td> <a href="hlavni.php?stranka=forum"> <b>Forum</b></a> </td> </tr> </table> </div> <div id="obsah"> <? if (!isset($_REQUEST['novinky'])) { include ("stranky/novinky.html"); }; if ($_REQUEST['stranka'] == 'zaliby' ) { include ("stranky/zaliby.html"); }; if ($_REQUEST['stranka'] == 'fotky' ) { include ("stranky/fotky.html"); }; if ($_REQUEST['stranka'] == 'media' ) { include ("stranky/media.html"); }; if ($_REQUEST['stranka'] == 'ejdm' ) { include ("stranky/ejdm.html"); }; if ($_REQUEST['stranka'] == 'forum' ) { include ("stranky/forum.html"); }; ?> </div> |
||
krteczek Profil |
#2 · Zasláno: 31. 7. 2008, 01:04:20
Já vím, že Ti teď asi zamotám hlavu na první pohled složitou věcí, ale ona je ve své podstatě velice jednoduchá. Jde o to, že názvy jednotlivých stránek můžeš uložit do array (pole), kde název stránky, který posíláš v adrese bude klíč a jméno souboru, který opravdu includuješ bude hodnotou. Jednoduše můžeš přidat další stránku jen přidáním položky do pole.
$array= array( 'zaliby' => 'zaliby', 'fotky' => 'fotky', 'media' => 'media', 'ejdm' => 'ejdm', 'forum' => 'forum', ); if((!empty($_GET['stranka'])) && (array_key_exists($_GET['stranka'], $array))) { // sestavíme cestu k požadovanému souboru a ten includujeme include('stranky/' . $array[$_GET['stranka']] . '.html'); } elseif(!empty($_GET['stranka'])) { echo '<p>Požadovaná stránka neexistuje</p>'; } else { echo 'vítejte na uvodní stránce'; } Z takového pole, pokud ho lehce upravíme, jde jednoduše i vygenerovat menu ;) vylepšené pole $stranky= array( 'zaliby' => array( 'cesta' => 'zaliby', 'txt' => 'Záliby', ), 'fotky' => array( 'cesta' => 'fotky', 'txt' => 'Fotogalerie', ), // a tak se dá pokračovat dál s dalšími stránkami ); function menu($array) { $menu = "\n<ul>\n\t<li><a href="index.php">Úvod</a>'; foreach($array as $key => $foo) { $menu .= "\n\t" . '<li><a href="index.php?stranka=' . $key . '">' . $foo['txt'] . '</a>'; } $menu .= "\n</ul>"; return $menu; } tam, kde chcete vložit menu jen přidáte volání funkce: echo menu($stranky); // pokud byste použili tento způsob, změnil by se u prvního příkladu jen řádek s include na následující: include('stranky/' . $array[$_GET['stranka']]['cesta'] . '.html'); |
||
vojtinec Profil |
#3 · Zasláno: 31. 7. 2008, 16:16:13
Hm...Tak tomu moc nerozumim. Nevím kam co napsat. Php vubec neumim. ten include je prvni vec, ktera se mi kdy povedla.
|
||
krteczek Profil |
#4 · Zasláno: 1. 8. 2008, 15:57:45
vojtinec: tak jsem to vytvořil cele a zabalil a dávám Ti to ke stažení abys viděl jak to funguje, tak tady jsem udělal ukázku
Po rozbalení si otevři soubor: inc/inc.php a nastav v něm tyto proměnné podle svých potřeb (číslo řádku, proměnná): 7. $title: tohle je název portálu, u úvodní stránky ude jen tohle, u ostatních se přidá ještě to co je v txt u odkazu na tuhle stránku: index => Název tvojí stránky fotoalbum => Název tvojí stránky: Fotoalbum 11. $getName: jméno proměnné v adrese klidně nech to co tam je 24. $stranky: tak z tohohle se generuje menu, proti tomuhle se kontroluje, jestli obsah proměnné v adrese existuje. co tu není, na to se návštěvník nedostane. To je vše co je nutno změnit. A samozřejmě, když se podíváš na index.php uvidíš tam jednoduchou html stránku a v ní, na určitých místech, kousky PHP kódu. Stejným způsobem si můžeš vytvořit svoji vlastní šablonu Tak mnoho zdaru, nejen Tobě ;) |
||
Časová prodleva: 16 let
|
0