Autor Zpráva
horava2
Profil
Dobry den,


mam takovy problem s include.
Do indexu webu includuji guestbook, ktery je ve slozce gbook.
Cili includuji gbook/index.php.

Bohuzel gbook nefunguje a to proto, protoze od indexu ( gbook ) se odvyjeji cesty jako napr. form.php.
Kdyz si otevru index ( gbook ) tak to jede, protoze cesta je realna.

Ale kdyz ten index includuji do rootu - hlavniho indexu, tak pak chybi form.php protoze v indexu ( gbook ) je zapsany jako form.php.

Jediny reseni co me napsa, tak vyjmou soubory z gbook a vlozit je do rootu.
Existuje i nejaky jiny zpusob, jak to udelat, abych ty soubory mohl nechat ve slozce gbook ?

Dekuji

Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
AM_
Profil
http://cz.php.net/chdir

samozřejmě pozor na to, pokud si guestbook generuje vlastní HTML strukturu, tudíž uprostřed HTML stránky by ti vznikal nový <html> element, je to dost prasárna - pak se asi nejvíc vyplatí použít jiný guestbook navržený právě pro in-line použití.
Majkl578
Profil
Neřešilo by to absolutní odkazování od rootu? Tedy /gbook/form.php?
horava2
Profil
Celkem jsem se do toho zamotal a ted vůbec nevím jak na to :(
AM_
Profil
Majkl578:
Neřešilo by to absolutní odkazování od rootu? Tedy /gbook/form.php?
zřejmě řešilo, jenže to by musel všechny cesty v guestbooku přepsat, ne?

horava2:
Celkem jsem se do toho zamotal a ted vůbec nevím jak na to :(
Taková odpověď nám moc nepomůže :) v čem ses zamotal? zaslaná funkce chdir () změní pracovní adresář, takže si guestbook bude myslet, že jsi v adresáři guestbook.
horava2
Profil
pokud to dobre chapu, tak tohle zadam do hlavniho indexu ?

<?php
chdir('gbook');
include("gbook/index.php");
?>
AM_
Profil
Ano, chápeš to zcela správně. Pro úplnou korektnost se pak ještě můžeš vrátit:
<?php
chdir('gbook');
include("gbook/index.php");
chdir('..');
?>
horava2
Profil
Něc bude špatně, protože mi to vypíše tohle:

Warning: include(gbook/index.php) [function.include.html]: failed to open stream: No such file or directory in C:\ComplexWebServer\http_docs\sac\page\navstevni-kniha.php on line 6

Warning: include() [function.include.html]: Failed opening 'gbook/index.php' for inclusion (include_path='.;C:/ComplexWebServer/php5/include') in C:\ComplexWebServer\http_docs\sac\page\navstevni-kniha.php on line 6
horava2
Profil
Abych to trochu upřesnil, tak
navstevni-kniha.php
je ve skutecnosti index.php?page=navstevni-kniha
horava2
Profil
Když pozměním cestu:

<?php 
chdir('../guestbook');
include("guestbook/index.php");
chdir('..');
 ?>


Chybová hláška vyskočí takto:

Warning: chdir() [function.chdir.html]: No such file or directory (errno 2) in C:\ComplexWebServer\http_docs\sac\page\navstevni-kniha.php on line 5


Ale kniha se zobrazí. Po klinutí na odeslat mě to přesměruje na:
actions/add.php
. Aby to bylo správně, tak před actions by měla být složka gbook.
AM_
Profil
<?php
chdir('guestbook');
include("index.php");
chdir('..');
?>


Takhle to mělo být, zapomněl jsem odmáznout cestu z include. Ale na to jsi mohl přijít sám, je to docela jasné, že když se přesuneš do adresáře "guestbook", index.php už bude přímo v tom adresáři :)

chdir('../guestbook');
na tohle nevím jak jsi přišel...
horava2
Profil
Máš pravdu. Asi jsem už přepracovaný.
Nicméně pořád přetrvává problém, že po kliknutí na odeslat se otvírá stránka
actions/add.php
místo
 gbook/actions/add.php
horava2
Profil
Zkouším všeljaké způsoby a pořád bez výsledku.
Dle mě to nejak nefunguje ten
chdir('guestbook');


Pořád po kliknutí na odeslat to přesměruje na stranku
actions/add.php
, která neexistuje. Protože je to v tom gbook.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0