Autor | Zpráva | ||
---|---|---|---|
Jary Profil * |
#1 · Zasláno: 30. 5. 2010, 22:35:18
Dobrý večer, chci se zeptat proč mi nefunguje header? Na ic.cz mi to fungovalo jak mělo ale jakmile jsem přešel na placený hosting, tak mi to nefunguje. Ví někdo kde je problém? Děkuju
<?php header("Location: index.php");?> |
||
__construct Profil |
#2 · Zasláno: 30. 5. 2010, 22:48:02 · Upravil/a: __construct
HTTP/1.1 14.30 Location
„The field value consists of a single absolute URI.“ teda: <?php header("Location: htttp://www.nieco.sk/index.php");?> |
||
Jary Profil * |
#3 · Zasláno: 30. 5. 2010, 22:50:55
To bohužel neni ten problém :-(
|
||
Davex Profil |
#4 · Zasláno: 30. 5. 2010, 23:42:30 · Upravil/a: Davex
Jary:
Většinou to nefunguje kvůli tomu, že je před voláním funkce header() ještě nějaký výstup. Když si zapneš zobrazování chyb, tak by se měla vypsat chyba headers already sent… |
||
Jary Profil * |
#5 · Zasláno: 31. 5. 2010, 00:02:39
Jak mám tu chybu vyvolat?
|
||
mattyZEM Profil |
#6 · Zasláno: 31. 5. 2010, 00:13:17 · Upravil/a: mattyZEM
Jary:
„Jak mám tu chybu vyvolat?“ Nijak, jen jí můžeš vypsat... Na začátek stránky dej <?php error_reporting(E_ALL); ?> |
||
Alphard Profil |
#7 · Zasláno: 31. 5. 2010, 00:16:07
Jary:
Ono možná ani není potřeba ji vyvolávat. Máte před header nějaké echo, print, apod. nebo nějaké html před <?php? |
||
Jary Profil * |
#8 · Zasláno: 31. 5. 2010, 00:16:42
Nic nevypíše :-( Já to už nechápu. Hlavně nechápu, že na ic.cz všechno makalo a jakmile jsem to nahrál na placenej hosting, tak na header prdí.
|
||
mattyZEM Profil |
#9 · Zasláno: 31. 5. 2010, 00:18:22
Pošlete sem celý kód :)
Mimochodem, notepad dává na začátek stránky divný znak, pak nefunguje ani session_start(). Možná to bude i tím... |
||
Jary Profil * |
#10 · Zasláno: 31. 5. 2010, 00:19:47
Mám to nějak takhle:
<?php include_once('zahlavi.php'); if(ověření uživatele){ nějaký příkazy....... } else { header("Location: http://".$_SERVER['SERVER_NAME']."/index.php"); } include_once('pata.php'); ?> |
||
mattyZEM Profil |
#11 · Zasláno: 31. 5. 2010, 00:20:36
Pošlete sem kód zahlavi.php...
|
||
Alphard Profil |
#12 · Zasláno: 31. 5. 2010, 00:20:36
Jary:
„Hlavně nechápu, že na ic.cz všechno makalo a jakmile jsem to nahrál“ Různé hostingy mají různě nastavený výstupní buffer (jestli je to teda tím, čím myslíme). |
||
Alphard Profil |
#13 · Zasláno: 31. 5. 2010, 00:21:12
[#10]
A vsadím se, že v zahlavi.php je nějaký výpis. |
||
Jary Profil * |
#14 · Zasláno: 31. 5. 2010, 00:21:55
Chyba neni v jednom souboru, ale header se ignoruje úplně ve všech kromě souboru pro přihlášení a odhlášení.
|
||
mattyZEM Profil |
#15 · Zasláno: 31. 5. 2010, 00:22:03 · Upravil/a: mattyZEM
|
||
Jary Profil * |
#16 · Zasláno: 31. 5. 2010, 00:30:40
Záhlaví to nedělá. Jsem vymazal všechno a otestoval, ale pořád výsledek stejnej.
|
||
mattyZEM Profil |
#17 · Zasláno: 31. 5. 2010, 00:33:44
Jaký používáte program, v kterém píšete kódy?
|
||
Jary Profil * |
#18 · Zasláno: 31. 5. 2010, 00:38:12
Používám pspad, windows-1250. Máte pravdu problém je někde v záhlaví, ale nechápu to. Pokud vymažu všechno comá jen trošku společného s php, tak chyba se stále zobrazuje, ale jakmile vymazu úplně celé zahlaví, tak už header funguje. Mám to celé nějaké posrahazované.
|
||
mattyZEM Profil |
#19 · Zasláno: 31. 5. 2010, 00:40:03
Pošlete sem kód záhlaví, jistě Vám řeknu kde je onen zakopaný pes :)
|
||
Jary Profil * |
#20 · Zasláno: 31. 5. 2010, 00:45:33
Neřeknete :-) Vadí mu celé zahlaví. Vymazal jsem to až k meta hlavičkám a dokonce i ty mu vadily, alejakmile jsem soubor kompletně vybílil, tak teprve potom začal header fungovat. Nedáváto smysl, ale je to tak.
|
||
mattyZEM Profil |
#21 · Zasláno: 31. 5. 2010, 00:47:41
Jary:
„Neřeknete :-)“ O dvacku? Pokud potřebujete poradit, pak musím znát všechny podrobnosti. Takto můžu jen tipovat, což imho není dobrý nápad. |
||
Davex Profil |
#22 · Zasláno: 31. 5. 2010, 00:48:18
Vždyť píšu v [#4], že před voláním header() nesmí být žádný výstup, tak co na tom nedává smysl?
|
||
Jary Profil * |
#23 · Zasláno: 31. 5. 2010, 00:50:09
Prázdný pole vsechno co by mohlo vadit jsem vymazal. Můžu Vám ten soubor poslat na mail? Možná tam mám nějaký boom, ale to pochybuju :-)
|
||
mattyZEM Profil |
#24 · Zasláno: 31. 5. 2010, 00:53:44
mondeos@seznam.cz :-)
Posílejte, chytám... |
||
Davex Profil |
#25 · Zasláno: 31. 5. 2010, 00:54:59
Tak to zkusím ještě jinak: ta hlavička vložená pomocí include ze souboru zahlavi.php je ten výstup, který před voláním header() být nemůže. Můžeš to obejít tak, že úplně na začátku tvého skriptu zapneš výstupní buffer pomocí funkce ob_start().
|
||
mattyZEM Profil |
#26 · Zasláno: 31. 5. 2010, 01:04:33
Vyřešeno, jak psal davex, bylo to tak :)
řešení: <?php if(ověření uživatele){ include_once('zahlavi.php'); nějaký příkazy....... } else { header("Location: http://".$_SERVER['SERVER_NAME']."/index.php"); } include_once('pata.php'); ?> |
||
Jary Profil * |
#27 · Zasláno: 31. 5. 2010, 01:06:09
JJ, tohle pomohlo :-) Ob_start();
|
||
Jary Profil * |
#28 · Zasláno: 31. 5. 2010, 01:11:51
Můžu se jen zeptat u jakých akcí se tahle funkce nedoporučuje? Děkuju Vám všem
|
||
Nox Profil |
#29 · Zasláno: 31. 5. 2010, 07:47:37
U těch co pracují s hlavičkami, tzn. header, session_start...
Případně asi primárnější použití je když chceš zachytávat výstup a měnit ho nebo vypisovat podmíněně nebo si ho uložit do proměnné.... |
||
Časová prodleva: 14 let
|
0