php switch get I.


honlapkészítés során, ha a hagyományos módon – statikus HTML fájlokat gyártva – állsz neki a munkának, előbb vagy utóbb belefutsz abba a problémába, hogy elég macerás frissíteni az anyagot, pl. grafikailag. Kivéve, ha frame-ekkel oldottad meg, erről majd beszélek később.

Vegyünk egy példát:
Van egy honlapod, 1 kezdőlappal és 20 aloldallal együtt. A fájlok jelenleg HTML kiterjesztéssel vannak fent a szerveren, és mindegyik HTML fájlok tartalmazza a komplett grafikát.
Úgy döntesz, az egyik képet ki szeretnéd cserélni a fejlécben, de ezzel megbontod az eddigi arányokat is (amit pl. táblázatokkal oldottál meg), mit tudsz csinálni? Túl sok mindent nem, kénytelen vagy 21x módosítani ugyanazt a képet+táblázatot.
Ugye nem túl kényelmes …?

Egy másik lehetőség, hogy a lapodat frame-ekkel oldod meg, a fejléc, menü stb.. szóval az állandó elemek frame-ekbe kerülnek, így tulajdonképpen kevés munkával könnyen lehet frissíteni az egész lap kinézetét.
Mi van akkor, ha neked vmiért nem tetszik a frame-s megoldás, vagy vmi oknál fogva csak nem alkalmazható az adott szituban? Bőven elképzelhető a szitu, én pl. nagyon nem szeretem a frame-s lapokat (bár elvétve látni 1-1 egész jól sikerültet)

A 3. megoldás a php használata. Nem kell megijedni tőle, egyeltalán nem vészes a dolog, nem kell programozni tudni vagy hosszú kódokat böngészni, elég ha a copy-paste-t tudod kezelni :)

Honlapkészítés a php switch get segítségével

Először is hozz létre egy index.php nevű fájlt, ez lesz az alapértelmezetten megjelenő fájlod a könyvtárban, és ugyanakkor ez lesz a sablon/theme/skin (ki hogy hívja) is, ami a grafikát tartalmazza. A többi lapod (20db) tartalmát ebbe fogod úgymond beleolvasztani.

Miután létrehoztad az index.php-t, nyisd meg egy webszerkesztő programban (pl. Dreamweaver, Frontpage stb..), és készítsd el ugyanúgy, ahogy azt anno a index.html fájloddal is tetted. Csináld meg a fejrészt, a menüket, a lábrészt stb…, de azt a területet, ahova anno a kezdőlap tartalmát alkotó szöveget (köszöntés, bevezetés stb..) tetted, hagyd üresen. Ide fog jönni a PHP kód.

beillesztendő PHP kód

<?php
switch($_GET["id"])
{
case "lap1":
include "lap1.html";
break;
case "lap2":
include "lap2.html";
break;
default:
include("bevezetes.html");
break;
}
?>

Ezt úgy ahogy van, másold be az index.php fájl azon területére, ahol majd szeretnéd, hogy megjelenjen a tartalom.

A kód tulajdonképpen csak annyit csinál, hogy ha a hivatkozásban (link) a “lap1″ azonosító szerepel, akkor az index.php-ba betölti a “lap1.html” nevű fájlod tartalmát.
Ha a hivatkozásban a “lap2″ fog szerepelni, akkor meg természetesen a “lap2.html” tartalmát, és így tovább … nem írom végig 20x :)
Neked csak annyit kell tenned, hogy a kód 3 sorát mindig copypaste-eled egymás alá, és átírod a tartalmát (A lap1 -t illetve a lap1.html rész, amik az idézőjelek között szerepelnek).

case "lap1":
include "lap1.html";
break;

Az alapértelmezett kezdőoldal beállítása

Az kód végén található “default” kezdetű részlet felel azért, hogy mikor a látogató megnyitja a honlapodat, akkor alapértelmezetten melyik fájlt töltse be az index.php-be (ez jelen esetben a bevezető szöveget tartalmazó “bevezetes.html” lesz.

Hivatkozások, avagy a linkek

A hivatkozásokat kell kicsit másképp megadni mint eddig, hisz ezt megelőzően mondjuk csak ennyi volt:

tovább a lap2-re

Ezentúl, ha azt akarod, hogy az index.php-be töltse be vmelyik fájlod tartalmát, az alábbi szerint kell módosítanod a linket:

tovább a lap2-re

Minden esetben benne kell legyen az index.php fájlnév, egy kérdőjel, az “id” szócska és egyenlőségjel, és a végére kell illeszteni azt az azonosítót, ami a betölteni kívánt fájlhoz meg lett adva a kódban.

Demo és letöltés

A fent látott példához elkészítettem egy sablon “honlapot”, persze grafikailag/tartalmilag ne várjatok sokat tőle. ;) Ha valahol elakadtok, ha vmi nem teljesen egyértelmű és tiszta, nézzétek meg a forráskódot, remélem segíteni fog.

A demo honlap megtekinthető itt:
A demo honlap letölthető innen: www.tutorial.hu -> letoltes -> script.sources (1.5kb)

egjegyzések

- A file kiterjesztése, ahova ezt a kódot beszúrod, mindig PHP-nak kell lennie.
– Amely fájlokat behúzza, az lehet PHP, HTML, TXT stb…., de ha HTML formázásokat tartalmaz pl. a TXT, akkor azok természetesen a weben már formázva jelennek meg.

Kapcsolódó bejegyzések:
  • Az alábbi leírásnak már van egy előzménye, melyet “php switch get I.” címmel megtaláltok a honlapon. Mivel e leírás annak továbbfejlesztett – és módszerben is új …

  • Ezt a kis kódrészletet azért osztom meg, mert sok javascriptes megoldást láttam már a dátum kiíratására. Alapból nekem nem tetszett, ahogy a php kiírja a date fü …

  • Talán a cikk neve egy kicsit érdekesen hangzik, de aki belesett az alábbi problémába, az egyből érteni fogja miért is adtam ezt a nevet.Talán sokan olvastáto …

  • Először is nem árt egy biztonsági mentést csinálni a főfájlodről! (index.html), aztán mentsd el a "fő" oldaladat , PHP dokumentumként. Egyszerűen csak …

  • A cikk előzményeként olvasd el ezt a 2 leírást (php switch get I. és php switch get II.). A fórumon felvetődött a kérdés: hogy lehetne megoldani a nyelvválasztás …

A cikket beküldte: Harder (http://blog.harder.hu)

2 hozzászólás

  1. TeXe says:

    Helló!

    Nem találom a letöltések között ennek a leírásnak a demoját. Honnan tudnám megszerezni?

  2. Harder says:

    TeXe: pedig ott van az
    http://www.tutorial.hu/letoltes/index.php?mod_dir=/scriptek/phpswitchget&

Szólj hozzá
a php switch get I. c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>