Autor | Zpráva | ||
---|---|---|---|
stw Profil * |
#1 · Zasláno: 3. 1. 2013, 20:30:12
Zdravím,
prosím o pomoc s problémem přesměrování. Před header(); nemám žádný výstup. Při volání po síti ve FF to funguje bez chybyi při error_reporting(E_ALL); nemám žádnou chybu a dojde k přesměrování. V proměné $IP je: 192.168.1.101 Pokud to spustím zevnitř tak to nefunguje. V proměné $IP je: 127.0.0.1 Je to v MMC, spuštěním zevnitř je myšleno s DO a výstupem na TV a místo popup informace vidím http download error. header('Location: http://'.$IP.':82/popup.php?info=new&action=ss'); die(); Napadá někoho v čem by mohl být problém? |
||
Micruss Profil |
#2 · Zasláno: 3. 1. 2013, 21:16:24
Místo apostrofu ' dej uvozovky "
header("Location: http://$IP:82/popup.php?info=new&action=ss"); |
||
stw Profil * |
#3 · Zasláno: 4. 1. 2013, 15:57:47
Díky za reakci. Toto jsem už zkoušel, ale také nefunguje. Teď znovu pro jistotu abych to prověřil.
Vyzkoušel jsem i třeba (samozřejmě s mojí url): header("Location: /foo.php", TRUE, 301); |
||
Davex Profil |
#4 · Zasláno: 4. 1. 2013, 20:17:05
stw:
„Je to v MMC, spuštěním zevnitř je myšleno s DO a výstupem na TV“ Netuším, co znamenají všechny ty zkratky, ale naslouchá na IP adrese 127.0.0.1 a TCP portu 82 webserver? |
||
stw Profil * |
#5 · Zasláno: 4. 1. 2013, 20:47:28
FF = Firefox
MMC = Multi Mediální Centrum DO = Dálkový Ovladač TV = Televize Samozřejmě že naslouchá na portu 82. Vstup je na http://127.0.0.1:82/.../index.php A v index.php - hned na začátku souboru je podmínka a pokud po vyhodnocení má dojít k přesměrování tak se vůbec neuskuteční. Na síti ve FF je vstup na http://192.168.1.101:82/.../index.php a přesměrování je funkční a bez chyb a varování. Já to potřebuju hlavně v TV s DO, tedy na IP http://127.0.0.1:82/.../index.php |
||
Davex Profil |
stw:
Chápu to správně, že MMC a TV jsou dvě oddělená zařízení, PHP skript běží na MMC, FF běží na třetím zařízení a na TV běží také prohlížeč, ze kterého se přistupuje po síti na IP adresu MMC, která je 192.168.1.101? |
||
stw Profil * |
#7 · Zasláno: 5. 1. 2013, 07:04:13
Byl jsem na noční :-(
MMC () a TV jsou sice oddělené ale TV je v tomto případě pouze jako monitor (v mém případě CRT 100Hz). TV nemá prohlížeč a nemůže spouštět skript v MMC ani MMC žádným jiným způsobem ovládat, jsou propojené žlutým cinch. TV jen zobrazuje to co se PHP skriptem spuštěným v MMC vygeneruje. MMC je schopné přehrávat audio video z interního HDD, externího HDD a streamy z internetu, je napojené síťovym kabelem do routeru. FF je v klasickém PC. Možná zbytečně obšírně ale asi jsem to měl takhle popsat hned v prvním postu. Po síti na IP adresu (192.168.1.101) MMC přistupuju pouze ve FF z PC. Stejně tak je i ve workgroup. Takže když něco nefunguje zavolám to ve FF http://192.168.1.101:82/.../index.php kterej případně vypíše nějakej error. V tomhle případě ale nevypíše nic a přesměrování se provede. Teď MMC, to po zapnutí zobrazí na TV jednoduché menu ze kterého si vyberu můj skritp, kterej se ve skutečnosti zavolá jako url http://127.0.0.1:82/.../index.php a takto (vlastně na lokále) mi přesměrování nefunguje. Už jsem to popsal srozumitelně? Po síti přesměrování jede, na lokále nejede. Já potřebuju vyřešit lokál. A děkuji za reakci. |
||
Davex Profil |
#8 · Zasláno: 5. 1. 2013, 11:32:09
Už to chápu. TV s DO tedy nemá s problémem nic společného. Pomocí DO se ovládá to MMC. Na MMC běží nějaký standardní prohlížeč? Třeba by mohl být problém v něm.
Zkus přesměrovat takto: session_write_close(); header('Location: http://'.$IP.':82/popup.php?info=new&action=ss'); header('Connection: close', true, 302); exit(); |
||
stw Profil * |
#9 · Zasláno: 5. 1. 2013, 17:43:18
On to není standartní prohlížeč, spíš jakýsi xml zobrazovač nebo jak to nazvat. PHP-kem generuju xml podobné tomuto: http://paste2.org/p/2173320
To ale v tomto problému není podstatné, protože na 127.0.0.1:82 se header("Location:.....) vůbec neprovede. Tvůj kód (díky) jsem odzkoušel = chová se to stejně. Tedy v prohlížeči to funguje (192.168.1.101) opět bez chyb, v lokálu ne (127.0.0.1). Ještě nějaký nápad? |
||
Davex Profil |
U toho nestandardního zobrazovače je právě otázka, zda umí to přesměrování v HTTP hlavičce správně zpracovat a jestli odpověď nevyhodnotí jen jako prázdnou stránku. Dej si před
exit() nějaký výstup, který je pro zobrazovač bez problémů zpracovatelný. Podle toho pak poznáš, jestli neumí přijmout stavový kód s přesměrováním nebo přesměrovat a přejít na jinou adresu.
|
||
stw Profil * |
#11 · Zasláno: 5. 1. 2013, 18:37:35 · Upravil/a: stw
Tohle už jsem zkoušel i když trochu jinak. Před exit jsem dal
@file_put_contents('/tmp/usbmounts/sda1/test.txt', 'test blabla'); Soubor test.txt se vytvoří i s obsahem v obou případech. Jak z MMC (127.0.0.1) tak v FF (192.168.1.101). Zkoušel jsem to dát i na začátek souboru popup.php a tam se mi neuloží nic z MMC (127.0.0.1), ale v FF (192.168.1.101) se vytvoří. Z toho usuzuju že při volání z MMC na IP 127.0.0.1 se přesměrování prostě neprovede. Ještě bych měl dodat že se mi to takhle chová jen v MMC s chipsetem Realtek RTD1073DD, ale třeba s chipsetem RTD1073DDC+ to prý funguje (nemůžu ověřit, nemám ho k dispozici, akorát není hlášen problém tak soudím že to funguje). Ostatní chipsety Realtek nemám hlášený žádný problém. Mám k dispozici na zkoušení RTD1073DD a zde jsou problémy, Realtek 1186 a 1283X oba bez problému. Nejdřív jsem myslel že nějaký problém s portem. Protože jen v tomto musím do url mít i port ':82'. |
||
stw Profil * |
#12 · Zasláno: 7. 1. 2013, 10:47:38
Davex:
„U toho nestandardního zobrazovače je právě otázka, zda umí to přesměrování v HTTP hlavičce správně zpracovat a jestli odpověď nevyhodnotí jen jako prázdnou stránku. Dej si před exit() nějaký výstup, který je pro zobrazovač bez problémů zpracovatelný. Podle toho pak poznáš, jestli neumí přijmout stavový kód s přesměrováním nebo přesměrovat a přejít na jinou adresu.“ Takže když odstraním exit(); tak script pokračuje a MMC zobrazí na TV obsah vygenerovaný index.php nikoli obsah popup.php, kam se mělo přesměrovat. Znamená to tedy že ten "nestandartní zobrazovač" neumí zpracovat přesměrování v HTTP hlavičce? |
||
Jan Tvrdík Profil |
stw:
„Znamená to tedy že ten "nestandartní zobrazovač" neumí zpracovat přesměrování v HTTP hlavičce?“ Pravděpodobně ne, zkus pro kontrolu třeba ještě header('Location: http://' . 'seznam.cz/'); .
|
||
stw Profil * |
#14 · Zasláno: 8. 1. 2013, 12:16:52
Beru zpět co jsem napsal v minulém příspěvku. Po testování jiných funkcí jsem měl upravenou podmínku, tak aby mi script pokračoval a vygeneroval se obsah indexu.
Jan Tvrdík: „zkus pro kontrolu třeba ještě header('Location: ht>tp://' . 'seznam.cz/');“ MMC mi nedokáže zobrazit klasickou webovou stránku. Ale ta myšlenka mi přivedla vyzkoušet známou funkční url, kterou bežně zpracuje. Takže jsem použil: header('Location: http://gdata.youtube.com/feeds/api/standardfeeds/most_responded'); |
||
Časová prodleva: 11 let
|
0