Autor Zpráva
Lukáš Přibyl
Profil *
Potřebuji v php vracet text přímo v responzu. Chci vratitit HTTP STATUS 200 OK a v responsu potrbuji vratit text. Poradíte mi jak na to?
Joker
Profil
http://cz.php.net/header/
Lukáš Přibyl
Profil *
Takže můžu napsat:

Header("HTTP/1.1 200 OK");
Header("Content-type: text/plain");
echo "Skript probehl OK";
Header("Location: http://www.neco.cz/script.php?id=ok");
Alphard
Profil
ne, header po echo vyhodí chybu "headers already sent..."
nevím, proč se snažíte duplikovat informace, o tom, že akce proběhla v pořádku informuje již 200
Lukáš Přibyl
Profil *
ne, header po echo vyhodí chybu "headers already sent..."
nevím, proč se snažíte duplikovat informace, o tom, že akce proběhla v pořádku informuje již 200

Já totiž potřebuji hodit HTTP status 200 OK, v respondu vratit text odpovedi a pak jeste musim volat skript. Jedná se o SMS system a tohle mi prislo od podpory.
Lukáš Přibyl
Profil *
Jenže já potřebuji hodit HTTP status 200, v respondu odeslat informaci o stavu akce a pak ještě potřebuji volat skript.
Joker
Profil
Lukáš Přibyl
No a v čem je problém? Status nastavíte přes header a text v odpovědi přes echo.

Co je špatně je tohle:
echo "Skript probehl OK";
Header("Location: http://www.neco.cz/script.php?id=ok");

...protože jakmile pošlete nějaký výstup na klienta, nemůžete už pracovat s HTTP hlavičkami.
Když už, tak:
Header("Location: http://www.neco.cz/script.php?id=ok");
echo "Skript probehl OK";

...ale tak jako tak je asi na nic posílat text, který klient stejně neuvidí, protože bude už předtím přesměrován na jinou adresu.
Lukáš Přibyl
Profil *
Problém je v tom, že ten text nutně potřebuji poslat v Resposnu. Takže potřebuji:

Header("HTTP/1.1 200 OK");
Header("Content-type: text/plain");

odeslání textové zprávy přes respons, zde bych potřeboval poradit, pak už jen přesměrovat

Header("Location: http://www.neco.cz/script.php");
karbon
Profil *
Hlavičky se ale odesílají dříve, než ostatní data.
nightfish
Profil
Lukáš Přibyl
odeslání textové zprávy přes respons, zde bych potřeboval poradit
echo

pak už jen přesměrovat
výše jsi psal „pak ještě potřebuji volat skript
co si tak představuješ pod zavoláním skriptu? nešlo by použít include/file_get_contents()?

jinak by možná stálo za to napsat, co a jak se tímto postupem má řešit, protože určitě bude existovat nějaké rozumnější řešení
Lukáš Přibyl
Profil *
Ten skript volá robot SMS brány. A po vypsání textu zprávy pak ještě musím volat zase jeho skript. Ale volal bych ho nejsíše přes fopen.
nightfish
Profil
Ale volal bych ho nejsíše přes fopen.
ano, to je samozřejmě rozumnější než přesměrovávat (což nemusí fungovat)
pozor - na to, aby se skript, ležící na stejném filesystému vyhodnotil, musí být zavolán přes url wrapper (file_get_contents("http://www.example.com/skript.php") místo file_get_contents("skript.php"))
Lukáš Přibyl
Profil *
Takže takhle?

Header("HTTP/1.1 200 OK");
file_get_contents("http://www.neco.cz/neco.php");
Header("Content-type: text/plain");
echo "Vas inzerat byl aktivovan. ID Vaseho inzeratu je 2222.";

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