Kis help, menühivatkozás active attrib, includeal :))
Üdv
Nos, egy honlapszerkesztésnél belefutottam egy problémába. A menüt megoldottam include hívással. Példa:
Szerintem ebből kivehető, mit is csináltam :) Nos, megtudtam oldani még a régi hivatkozásos megoldásommal, hogy mindig az a listaelem mutatkozott eltérően, amelyik oldala épp be volt hívva. Igaz, elég kisiskolás módszerrel oldottam meg, a hivatkozásnak megadtam a class="active" osztályt.
Lehet, hogy teljesen triviális hibába futottam, de nem jövök rá, hogy lehetne ezt a megoldást átültetni dinamikussá a fent mellékelt kódba. Szóval a lényeg az lenne, hogy az oldalt böngésző user vizuális megerősítést kapva, eltérő kinézettel lássa az épp behívott oldal menüpontját. Remélem, nem kérdezek túl nagy hülyeséget így "kora" este.
C.
■ Nos, egy honlapszerkesztésnél belefutottam egy problémába. A menüt megoldottam include hívással. Példa:
<div id="nav">
<ul>
<li id="main-tab"><a href="index.php?include=main">Főoldal</a></li>
<li id="product-tab"><a href="index.php?include=products">Termékeink</a></li>
<li id="inform-tab"><a href="index.php?include=infos">Információk</a></li>
<li id="contact-tab"><a href="index.php?include=contact">Elérhetőségek</a></li>
<li id="forum-tab"><a href="index.php?include=forum">Vendégkönyv</a></li>
</ul>
</div>
<div id="active">
<?php
if(##kukac##is_file($_GET['include'].'.php'))
include_once($_GET['include'].'.php');
else
include_once('main.php');
?>
</div>
<ul>
<li id="main-tab"><a href="index.php?include=main">Főoldal</a></li>
<li id="product-tab"><a href="index.php?include=products">Termékeink</a></li>
<li id="inform-tab"><a href="index.php?include=infos">Információk</a></li>
<li id="contact-tab"><a href="index.php?include=contact">Elérhetőségek</a></li>
<li id="forum-tab"><a href="index.php?include=forum">Vendégkönyv</a></li>
</ul>
</div>
<div id="active">
<?php
if(##kukac##is_file($_GET['include'].'.php'))
include_once($_GET['include'].'.php');
else
include_once('main.php');
?>
</div>
Szerintem ebből kivehető, mit is csináltam :) Nos, megtudtam oldani még a régi hivatkozásos megoldásommal, hogy mindig az a listaelem mutatkozott eltérően, amelyik oldala épp be volt hívva. Igaz, elég kisiskolás módszerrel oldottam meg, a hivatkozásnak megadtam a class="active" osztályt.
Lehet, hogy teljesen triviális hibába futottam, de nem jövök rá, hogy lehetne ezt a megoldást átültetni dinamikussá a fent mellékelt kódba. Szóval a lényeg az lenne, hogy az oldalt böngésző user vizuális megerősítést kapva, eltérő kinézettel lássa az épp behívott oldal menüpontját. Remélem, nem kérdezek túl nagy hülyeséget így "kora" este.
C.
Security
Másrészt egyszerű a feladat:
gettelenül
Bevallom, a preg_match() függvényt még nem használtam. A problémám jelenleg annyi, hogy az általad javasolt -s belegondolva, tényleg logikus, kézenfekvő, csak nem éjjel fél 12kor xD- megoldással előugrik ama probléma, hogy mi van, ha nincs include érték? Értsd a sima index.php behívásakor, amikor semmitse kap GET-el még. Ilyenkor gondol egyet, úgy veszi, hogy minden értéket megkapott mégis, s minden megkapja a class="active" tulajdonságokat. Jelenleg ezen probléma orvoslásán dolgozom, de ha van ötleted :)
C.
Apró javítás
Proclub megoldása némileg javítva megoldja a nincs GET problémát is (szerintem ő is ezt akarta írni, csak "félrenyúlt" :-) ):
A preg_match() függvénnyel ismerkedés valóban rendkívül hasznos, más okból is, de a probléma megoldásához elég lehet néhány if vagy switch szerkezet, melyben ellenőrzöd, hogy az include paraméter kizárólag a megfelelő értékeket tartalmazza-e. Ilyesmire gondolok:
Köszi :)