include-olni másik php futási eredményét
Hogyan oldható meg, hogy egy php-be beillesszek egy másik php(paraméteres!) futási eredményét?
pl.
include(valami.php?id=32)
Sajnos a szerver letiltja ha a teljes eléréssel próbálok rá hivatkozni.
Köszi!
■ pl.
include(valami.php?id=32)
Sajnos a szerver letiltja ha a teljes eléréssel próbálok rá hivatkozni.
Köszi!
hát,
bbalint
fopen wrapper
(ami lehet hogy a HTTP szabvány része, lehet hogy hiba; én nem tudom - nem értek hozzá.)
van még egy nagyszerű cURL nevű PHP kiterjesztés, HTTP meg egyéb kérések elvégzésére; létezik egy HTTP_Client nevű PEAR csomag
bbalint
vagy ...
RTFM
Works.include
Na ez az, hogy nem működik, Permission denied van.
Nem php kódok generál, sima html-t.
Hogy szokás a következűt csinálni? Van bal oldalon egy menüm, azon kattintgatok és behozza jobb oldalra az adott html-t, amire hivatkozik a bal oldal. Namost. Eddig Frame-es volt az oldal, jól is ment.
Most átírtam egy php-sre, ami beolvassa a menüt (bal oldal) és beolvas egy html-t, ezt jobbra teszi. Így legenerálódik minden alkalommal egy menüs-tartalmas html. Csakhogy van egy oldalam, ami nem html, hanem php és ráadásul paraméter is kell neki. Ezt nem tudom úgy include-olni, mint a html-eket. A fentiek sem nagyon működtek, ugyanúgy permission denied volt (uw.hu...). A $_GET-et még nem próbáltam... Azért nem az a legjobb, ha betölti a php forrását és ebben a másik php-ben futtatja le. Pl. a <? ?> jelekkel is lehet baj...
Akkor lehet, hogy maradok a frame-eknél...
hmm, akkor bocs...
Az uw.hu-n meg kell nézni/kérdezni az érintett php.ini beállítások értékét. (php.ini: allow_url_fopen, --enable-url-fopen-wrapper ford.kapcs.)
Elvetemült kísérletként mi lenne a menüt kipakoló php-t auto_prepend-ként adnád meg, így minden .php file előtt lefutna? (Ha ez sincs kikapcsolva persze.) Baj, h. ez nem segít a sima .html fájlokon, hacsak át nem nevezed .php-ra őket. (Ez csak tipp.)
ööö
és amikor arról van szó, hogy PHP-t kell beilleszteni, akkor ennek az PHP-nak nemcsak az include()andó dolgot adod át (pl index.php?eztinclude=/etc/passwd), hanem még további paramétereket is, ami majd annak a PHP-nak jó lesz és használni is tudja: index.php?eztinclude=valami¶meter=ertek¶meter2=ertek,
illetve ha a beinclude()élt filében van esetlegesen egy
<form/>
is, akkor annak azaction=""
attribútumába pedig a$_SERVER['REQUEST_URI']
-t tegyed:bbalint
Hello!Amikor ilyen
Amikor ilyen jellegű problémával találkozom és nincs sok időm vacakolni vele, akkor azt szoktam csinálni, hogy a "master" php-ben megfeleltetek néhány - amennyi kell - session változót a paramétereknek, majd a "slave" php-ben is hívok egy session_start()-ot és akkor elérem a "masterben" beállított sessionváltozókat és használom paraméter helyett!
Lehet, hogy nem túl elegáns, de MŰKÖDIK!! :)
..It just works!
Üdv.: Halee
Én is a sessiont-látnám a
Köszi!
Üdv KV
hozzáférés megtagadva
bbalint
Köszi mindenkinek!
A végleges és legegyszerűbb megoldás a következő lett: a fő php-be kellett küldeni a $_REQUEST paramétereket, a meghívandó php-t csak simán beinclude-olni, így az beszúrásra is került és meg is kapta a paramétereket!
Mindenkinek köszönöm a segítséget!