Autor Zpráva
eBoy
Profil *
Měl bych možná trapný dotaz, ale nikde jsem nenašel odpověď.
Potřeboval bych ukončit vykonávání scriptu a přešměrovat na jinou stránku, ale na straně serveru, takže nejde použít Header ani META.
Když jsem dělal v ASP byla tam directiva Server.Transfer(), ale v PHP jsem nic takoveho nenašl :(
DoubleThink
Profil *
include 'jiny_script.php';
exit;
ninja
Profil
muzete zkusit proste
require('xxx'); exit();
eBoy
Profil *
[#3] to neni ono. POuze by to vykonalo ten script a pak se vratilo zpet.
Potřebuju, aby to úplně předalo kontrolu a skončilo.
DoubleThink
Profil *
Potřebuju, aby to úplně předalo kontrolu a skončilo.
Pokud vím, nejde.
srigi
Profil
V Zend frameworku je na to krasna funkcia forward(). Nachadza sa v subore Zend/Controller/Action/Abstract.php. Skus nastudovat. A ak by to nebolo ono, tak funkcia _redirect().
bohyn
Profil
Potřebuju, aby to úplně předalo kontrolu a skončilo.
Header se pouzit da a prave na takoveto veci je delany

prvni_soubor.php
header("Location: druhy_soubor.php?vratit=prvni_soubor.php");
exit;


druhy_soubor.php
// ...
header("Location: ".$_GET['vratit']);
exit;

Pokud nechces znovu vykonavat kod na zacatku prvni_soubor.php, tak presun kod na zacatku do funkci (pro prehlednost) a vetvi kod podle toho jak potrebujes.
DoubleThink
Profil *
Header se pouzit da a prave na takoveto veci je delany
eBoy chce provést přesměrování na serveru, ne u klienta.
bohyn
Profil
DoubleThink
Pokud vim tak vsichni klienti header respektuji, takze to vyjde nastejno.
srigi
Profil
DoubleThink
eBoy chce provést přesměrování na serveru

Ale toto nemozno nazvat "presmerovanie" ale proste predanie kontroly. Je to nieco ako ked Router preda kontrolu Controlleru. Osobne by ma zaujimalo preco eboy-ovi nestaci obyc include a ukoncenie cinnosti v inkludovanom subore.
eBoy
Profil *
[#9] jenže tahle stránka se právě nevolá přes klienta, ale přes externí timer utilitku, která v určitých intervalech jen zavolá stránku a zapomene, takže header nepřevezme a nezpracuje :)
bohyn
Profil
eBoy
OK, proc by ale nefungovalo require + exit?

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: