84 Kezdőlap - Webszerkesztés - PHP - Menü

Menü a weblapon

Frame helyett include

Mintapélda

Készítsünk menüvezérelt weboldalt - jobbat, mint ami HTML-ben lehetséges!

Mi a baj a HTML-ben készült menüvel?

HTML-ben két lehetőségünk van menüt tartalmazó oldalt készíteni.
1.
Az egyik esetben egy pl. öt aloldalt tartalmazó weblap esetén el kell készíteni 1-1 önálló .html fájlba minden oldal tartalmát, illetőleg mind az öt oldalba (fájlba) be kell tenni a további oldalakra ugrás lehetőségét, vagyis a menüt is.
  1. Probléma: a menü bármilyen módosítása, vagy bővítése értelemszerűen azzal jár, hogy a változtatást nem csupán egy helyen, hanem az összes oldalon el kell végezni. Ez nemcsak kényelmetlen, hanem túl sok hibalehetőséget is magában hordoz.
    Található ilyen elrettentő példa a 2017. évi középszintű közismereti informatika érettségi vizsgafeladatai között is. (A fenti megvalósítás az oktatas.hu oldalról letölthető javítási-értékelési útmutató vonatkozó részének kitömörített változata.)
2.
A másik lehetőség, hogy frame-t alkalmazunk, vagyis a weblapon belül kialakítunk egy belső területet, melyben önálló .html fájlt tudunk megjeleníteni. A menüt a külső területen helyezzük el - így elég azt csak egyszer megvalósítani -, a menüpontok bármelyikére kattintva viszont a hozzájuk tartozó tartalom a belső területen jelenik meg.
  1. Probléma: egy ilyen oldalt nagyon nehéz keresőoptimalizáltan megcsinálni, mert egyrészt nem tartozik minden különböző tartalomhoz különböző oldalcím (hiszen a külső rész tartalma nem változik a menüpontok között ugrálva), másrészt a keresőrobotok önálló oldalként indexelhetik be az aloldalakat, amiket aztán majd a találati listjukban önálló weblapként engednek megtekinteni, vagyis a látogató a navició (menü) látványa nélkül fog a böngészőjének teljes ablakában szembesülni a mi belső tartalmunkkal.
    Erre a technikai megoldásra láthatunk példát a korábbi Veszélyes állatok című HTML mintafeladatunkban.
Miben nyújthat többet a PHP a HTML-nél?

A PHP-ben készült weblapok paraméterezhetőek. Ennek megfelelően megoldható, hogy míg egy weblap kezdőoldala az index.php legyen, addig a további oldalak ugyanezen index.php oldal paraméterezésének eredményeként legyenek elérhetőek.

Ilyenkor a háttérben (vagyis a PHP programban) az történik, hogy az index.php kezdőoldal mindig betölti a weblap állandó elemeit (logó, fejléc, lábléc, menü, stb...), ám az egyes menüpontokhoz tartozó tényleges tartalom a paraméter értékétől függően kerül kiválasztásra és megjelenítésre. Erre azért van lehetőség, mert a PHP egy programozási nyelv (tehát lehetnek benne változók, és elágazások), míg a HTML csak jelölőnyelv (tehát nincsenek benne sem változók, sem elágazások).

Azért, hogy az index.php-ban szereplő forráskód ne legyen irreálisan hosszú, érdemes az egyes menüpontokhoz tartozó tartalmakat önálló fájlban megalkotni. Ahhoz pedig, hogy a paraméter értékétől függő tartalmat önálló forrásfájlból is beszerkeszthessük a főoldalt jelentő index.php-ba, a PHP nyelv include() függvényét használhatjuk: Egy ilyen oldal megvalósítására mutat példát az alábbi link.
http://infojegyzet.hu/webszerkesztes/php/menu/pelda1/
A megoldás forráskódja a megnyíló oldalról, valamint a következő linkről is elérhető.
Amennyiben a mintapélda teljes változatát szeretné letölteni, ezt az alábbiakban kezdeményezheti:


2019-06-17 19:49:46 Admin Köszönöm, ha Ön lesz az első, aki megírja ide véleményét, észrevételét, kérdését ezzel a lappal kapcsolatban.




Új hozzászólás:
E-mail cím:


Erre a címre küldjük ki a hozzászólás jóvá- hagyásához szükséges linket. Az e-mail címet sehol nem tesszük közzé.

Név:


Ez a név fog megjelenni az Ön hozzászólásai mellett.

Mennyi tizenhat + három?
Számjegyekkel írja be!



Ez a robotok beírása elleni védelem miatt szükséges ellenőrzés.


© infojegyzet.hu, 2008. február