Autor | Zpráva | ||
---|---|---|---|
Lukáš Přibyl Profil * |
#1 · Zasláno: 14. 8. 2008, 12:59:41
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 |
#2 · Zasláno: 14. 8. 2008, 13:06:28
|
||
Lukáš Přibyl Profil * |
#3 · Zasláno: 14. 8. 2008, 13:26:35
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 |
#4 · Zasláno: 14. 8. 2008, 13:31:26
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 * |
#5 · Zasláno: 14. 8. 2008, 13:37:57
„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 * |
#6 · Zasláno: 14. 8. 2008, 13:39:29
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 |
#7 · Zasláno: 14. 8. 2008, 13:52:04 · Upravil/a: Joker
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. |
||
Časová prodleva: 4 dny
|
|||
Lukáš Přibyl Profil * |
#8 · Zasláno: 18. 8. 2008, 21:50:58
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 * |
#9 · Zasláno: 19. 8. 2008, 06:47:55
Hlavičky se ale odesílají dříve, než ostatní data.
|
||
nightfish Profil |
#10 · Zasláno: 19. 8. 2008, 09:53:36
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 * |
#11 · Zasláno: 19. 8. 2008, 13:06:36
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 |
#12 · Zasláno: 19. 8. 2008, 13:24:25
„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 * |
#13 · Zasláno: 19. 8. 2008, 16:04:12
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."; |
||
Časová prodleva: 16 let
|
0