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:

<?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

Harder

Harder

Profil

Korábbi hozzászólások (13)

A régi blogon érkezett hozzászólások archívuma. Új hozzászólást már nem lehet írni.

  1. Marci

    Kipróbáltam ezt de nekem örökké csak a hibaoldalt jelzi ki.

  2. BlackY

    Helló!

    Kösz, hogy szóltál, javítottam, így már mennie kell (nem volt register globals off kompatibilis).

    BlackY

  3. Marci

    Tényleg most jó! Jaj de hú de jaj de örülök.

  4. Drake

    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!

  5. TLoFtlof.hu

    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

  6. Drake

    TLoF!

    Nagyon szépen köszönöm!!! Működik, és pontosan így képzeltem.

  7. TeXelivetoride.hu

    Helló!

    Nekem az lenne a kérdésem hogy a menüben lévő gomb amire kattintanak az hogy van megoldva?

  8. Harderszerzőblog.harder.hu

    a leírásban ott egy példa link, hogy kell a gombot megcsinálni (www.teneved.hu/main.php?id=teszt)

  9. Én így csinánálom

    bár mondjuk 404 hiba oldal helyett .htaccess-t lövöm be :)

  10. mmatyasujszavak.net63.net

    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.

  11. Robi

    "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ő:

    ?page=home.html

    é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=''" /> (?page=home.html)

    _____________________________________________________________

  12. Én így csinálnám

    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

    if(!$_GETt['show_div'])
    {echo 'Ez lesz az alap feltéve ,hogy nem küldtek változót '; }
    if($_GET['show_div'] == 1)
    {echo 'Ez lesz az 1es div feltéve ,hogy at átadott érték ?show_div=1 '; }

    stb stb..

    SWITCH-el megoldva :

    switch($_GET['show_div'])
    {
    case 1 : $tartalom = '1es div'; break;
    case 2 : $tartalom = '2es div'; break;
    case 3 : $tartalom = '3es div'; break;
    case 4 : $tartalom = '4es div'; break;
    default : $tartalom = 'nem küldtünk még értéket a(z)show_divvel ezért ez lesz az alap
    divünk'; break;
    }
    echo ''.$tartalom.'';

    ennyi :)

További 1 hozzászólás-szál megjelenítése
  1. Sgt.

    Ü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

Van hozzáfűznivalód? Írj nekem közvetlenül.

Kapcsolat