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 megkeresed Total Commander-ben, és a kiterjesztését átírod html-ről, vagy htm-ről php-ra.
Én ebben a pédában main.php-t használok. Meghagyom az menüsorokat, és a logót, csak az eddigi tartalmat törlöm ki a fájlból. Tehát, most van egy olyan dokumentumunk, amiben van menüsor, és a logó(k), de nincs benne tartalom. Tegyünk ez ellen!
Illesszük a fájl forrásába a következő kódot oda, ahonnan kiszedtük a tartalmat:
1 2 3 4 5 6 7 | <?php $id = (isset($_GET['id']) && !empty($_GET['id'])) ? ltrim($_GET['id'], './') : 'error'; if (file_exists("$id.htm")) {include ("$id.htm");} else {include ("error.htm");} ?> |
Most az eddigi tartalmat illesszük be egy .htm kiterjesztésű fájlba. Pl.: a híreket, vagy ami eddig ott volt. Én a példában ezt most teszt.htm-nek hívom. Semmi mást ne írjunk az új fájlunkba, csak a tartalmat. Nem kell sem <body>, sem <html>, csak a tartalom.
Most töltsük fel a két fájlt a tárhelyünkre, aztán írjuk be a böngészőbe:
http://www.teneved.hu/main.php?id=teszt
És mit látunk, hogy ugyanúgy néz ki, mit ténykedésünk előtt. Nézzük meg e feltöltött, és böngészőben lehívott oldal forrását. Olyan, mintha nem is csináltunk volna semmit. Pedig nagyon is sokat. De ha rossz fájlnevet írsz be az id= után a böngésződben akkor az error.htm fájlt fogja behívni. Ezt a fájlt is érdemes megcsinálni, teljesen testre szabható
Mindez azért jó, mert ha mondjuk változtatni akarunk akarunk a menünkön, nem kell minden egyes fájlban módosítani, hanem elég csak egyben. Egy hátránya van csak ennek, hogy a gépen nem fog működni, csak ha felteszel egy webszervert a gépedre.
Szerző: ArChiE
Kipróbáltam ezt de nekem örökké csak a hibaoldalt jelzi ki.
Helló!
Kösz, hogy szóltál, javítottam, így már mennie kell (nem volt register globals off kompatibilis).
BlackY
Tényleg most jó! Jaj de hú de jaj de örülök.
Nagyon jó az oldal, és gratulálok hozzá!
A leírással kapcsolatban lenne egy kérdésem, ugyanis gondolatban kicsit tovább fejlesztettem a működését, de nem tudom megcsinálni. Azt szeretném, ha nem a létező fájlttól függene a lap, vagy a hibaoldal megjelenése, hanem egy megadott dátumtól. Vagyis megadok egy dátumot, ami előtt a hibaoldal, és csak a megadott dátum után jelenne meg a lap. A másik kérdésem, hogy megoldható-e, hogy a szerveren beállított dátum szerint működjön, hiszen így a felhasználó nem tudja „kijátszani” (gondolom). Ha hülyeséget kérdeztem, akkor elnézést kérek, mert még kezdő szinten állok ezen a téren. A választ előre is nagyon köszönöm!
Meg lehet csinálni. Az időpontra védeni kivánt file első sorába beszurod a következő pár sor sort:
És csak a szerveren megadott dátum szerint müködik, mert az include ott futt le.
A unixtimestamp előállitáshoz pedig itt van kis segitség: http://www.unixtimestamp.com/index.php
TLoF!
Nagyon szépen köszönöm!!! Működik, és pontosan így képzeltem.
Helló!
Nekem az lenne a kérdésem hogy a menüben lévő gomb amire kattintanak az hogy van megoldva?
a leírásban ott egy példa link, hogy kell a gombot megcsinálni (www.teneved.hu/main.php?id=teszt)
bár mondjuk 404 hiba oldal helyett .htaccess-t lövöm be :)
Ugyanezt meg tudnátok nekem mutatni Layerekkel is ???
Tehát ne egy külön oldalt inclu-doljon be, hanem egy div-et a kijelőlt div-be.
„Helló!
Nekem az lenne a kérdésem hogy a menüben lévő gomb amire kattintanak az hogy van megoldva?”
Nem nehéz megoldani :)
az én megoldásom a következő:
és az includ-os rész
a fent láthatók akármelyike megfelel … csak a változóknak kell egyeznie
itt a részletes
<img src=”” alt=”HOME” border=”0″
onmouseover=”src=””
onmouseout=”src=”” />
_____________________________________________________________
menüre természetes pl. index.php?id=xy ekkor az xy.php tartalmát tölti be ..már ha létezik ilyen ,ha nem akkor 404es hba.
DIVES :
IF-Ekkel meoldva
stb stb..
SWITCH-el megoldva :
ennyi :)
Üdv! Arra volnék kíváncsi, hogy:
1. Hogy lehet azt megoldani, hogy az index.php-n, azaz a honlap főoldalán a tartalomnak kijelölt helyen ott legyen a tartalom, de a menüsor linkjeit mégis ugyanazon a helyen nyissa meg. Tehát, ugyanaz, ami a fenti cikkben áll, csak legyen tartalom is, meg include is.
2. Ha a hírszerkesztőm (Fusion News) cikkeket tartalmazó lapját (news.php) megjelenítem az include kóddal a tartalom helyén, a hírszerkesztő önálló linkjei (amik ezen a news.php-n vannak, pl. Hozzászólások, Email barátnak) is ugyanott fognak megnyílni, és nem pedig egy teljesen új oldalon, ahol nincs körülötte az én honlapom menüje, logója, stb keretként (amiről az egész include dolog szól. Ha érthető. :\ Tudom, kicsit körülményesen fogalmazok… :P