ugrás a tartalomhoz

PHP kód beolvasása

mauladam · 2011. Dec. 30. (P), 21.41
Jó estét mindenkinek!

Nem tudtam a címben rendesen megfogalmazni a kérdést.
Most megteszem:

Adott egy "oldalak" nevű tábla, benne egy "nev", egy "cim" és egy "tartalom" mező.
Az oldal php tartalma legenerálja a menüpontokat.
Az index.php egyben egy lekérdező oldal.

Ha az "oldal" nem kap értéket[if(!isset($_GET['oldal']))] akkor kiválasztom azt a sort, ahol a "nev" mező egyenlő "fooldal"-lal. ("SELECT * FROM oldalak WHERE nev = 'fooldal'")
A "content" nevű divembe a "cím" és a "tartalom" nevű mezők értékeit íratom.

Ha van értéke [if(isset($_GET(oldal))] és a táblában van olyan sor, ahol a "nev" egyenlő $_GET['oldal']-lal, akkor a "content" divbe ennek a sornak a "cím", és a "tartalom" mezőinek értékeit íratom.

Ha nincs ilyen sor aminek a "nev" mezője egyenlő $_GET['oldal']-lal, de van $_GET['oldal'], akkor a "404" névvel ellátott sor adatait használom.

A kérdés:

Hogyan tudom PHP fájlokkal ugyan ezt megcsinálni, úgy, hogy le is fussanak.
(Ha egyáltalán lehetséges.) Gondolom, az adatbázisba írás, nem jöhet szóba, mivel eléggé, biztonságtalan lenne.

Próbáltam a külső include megoldást, de akkor létre kellene hozni külön szöveges fájlokat, amikből ki kellene olvasnom a nevet, és a címet, mivel nincs eltárolva adatbázisban. (Szerintem ez kicsit macerás.)

Ezt a témát azért nyitottam, hogy írjátok le, Ti hogyan valósítanátok meg ezt, mivel nekem már nincs ötletem.
Természetesen, ha nincs jobb megoldás, megcsinálom úgy, ahogy írtam, de biztos hogy van(szerintem).

Kicsit hosszúra sikeredett. :)
 
1

Nocsak

Pepita · 2011. Dec. 30. (P), 22.32
Más nagyon kesze-kusza kérdését tök jól összeraktad, ezt meg - győzzük kihámozni...

1. Nem egészen értem, hogy az adattáblában milyen külön szerepe van a címnek, ha a tartalmi részen ugyanoda kerül, mint a tartalom ("content" nevű div). Ha csak annyi, hogy pl. <h2> és </h2> közé írod, annyi erővel lehet a "tartalom" mezőben is, tag-ekkel.
2. Ezt nem értem:
Az oldal php tartalma legenerálja a menüpontokat.

3. Szerintem nincs mód arra - én legalábbis nem tudok -, hogy mysql(?) adatbázis táblájában tárolt php kódot lefuttas egy másik kód részeként.
4. Ötvözd a kettőt: a kérdésedben bent a megoldás.
4.1: Adattábla: "nev", egy "cim" és egy "fajlnev" mező.
4.2: Ami a fajlnev szerinti php szkript, azt az index.php megfelelő helyén sima include()-al beilleszted. Ha a fajlnev == '' akkor ne legyen include(), csak cím, vagy amit akarsz.
4.3: A szükséges "php fájlokat" szerintem egy külön könyvtárba tedd, és ha lehet, .htaccess -es védelemmel. Ezekben lehet már php, html, egyéb kód is.
2

de van.

solkprog · 2011. Dec. 30. (P), 23.05
"Szerintem nincs mód arra - én legalábbis nem tudok -, hogy mysql(?) adatbázis táblájában tárolt php kódot lefuttas egy másik kód részeként."
de van eval(), de ha egy mód van rá ne csinálja.

Kérdezőnek:
Írd le kérlek hogy mit szeretnél csinálni. És most ebben ne legyen benne forráskód.
De ha jól értem akkor:
Szeretnél egy olyan felület ahol kattintgatva lehet a website-odhoz menüpontokat létrehozni. És gondolom egy-egy menüponthoz meg szeretnéd adni a tartami részt is.
De ehhez miért kell a tartalmi részben PHP kódnak is lenni?
3

Köszi, tanultam

Pepita · 2011. Dec. 31. (Szo), 11.43
eval()-t nem ismertem, de a hibakezelés miatt tényleg nem ajánlott használni.