[ c0de @ 19.02.2009. 10:59 ] @
Imam problem sa redirekcijom.

Koristim sljedecu php komandu. "header("Location: http://www.sajt.com/");"
Komanda radi u lokalu tj na mom XAMP-u.Kad prebacim na freehostia.com dobijem sljedecu poruku

"Warning: Cannot modify header information - headers already sent by (output started at /home/www/sajt.freehostia.com/ulogovan.php:10) in /home/www/sajt.freehostia.com/ulogovan.php on line 26

Na liniji 26 mi se bas nalazi ta komanda koja je 100% ispravna.Da li postoji neka druga komanda za redirekciju?
[ kazil @ 19.02.2009. 11:03 ] @
Taj output started ti se nalazi u liniji 10, vidi sta imas tamo.
[ dakipro @ 19.02.2009. 11:04 ] @
Citat:
c0de: headers already sent by (output started at /home/www/sajt.freehostia.com/ulogovan.php:10)

Sta imas tamo?
[ Man-Wolf @ 19.02.2009. 11:30 ] @
Samo da pridodam, ako nemas nista na toj liniji, pogledaj da ti nije ukljucen error_reporting. Ako je on ukljucen i izbacuje ti neku gresku pre header-a, moze i to da bude uzrok...
[ Vladica Savić @ 19.02.2009. 11:37 ] @
Imas nesto poslato verovatno pre poziva, echo nekog sadrzaja ili sl.?
Code:
header("Location: http://www.sajt.com/");

Probaj da stavis
Code:
 ob_start(); 
jos na pocetku skripte.
[ dakipro @ 19.02.2009. 11:44 ] @
@Man-Wolf
Nisam skontao sta tacno moze biti problem? Kao je ukljucen error_report, da ga iskljuci i time je resio problem ili ako je direktiva error_report() ispred headera?
Posto meni uglavnom ide regulisanje error_reportinga, pa ostatak koda, a header ide najcesce na kraj samog koda, ne bi trebalo da ima to veze. Verovatno te nesto nisam ukapirao?
[ Miroslav Ćurčić @ 19.02.2009. 12:42 ] @

http://www.elitesecurity.org/p1348151
[ Man-Wolf @ 19.02.2009. 14:30 ] @
@Daki - Izvinjavam se ako nisam bio dovoljno jasan. Naime, objasnicu na primeru. Ako kod skripte izgleda ovako:

Code:

error_reporting(E_ALL)
.
.


header(.....);

.
.
.


I ukoliko se pojavi neka greska (a cesto se desava da iskacu razni NOTICE-i), header nece raditi, tj izbacice gresku kako su header-i vec poslati ...

Citat:
dakipro:Kao je ukljucen error_report, da ga iskljuci i time je resio problem ili ako je direktiva error_report() ispred headera?
Posto meni uglavnom ide regulisanje error_reportinga, pa ostatak koda, a header ide najcesce na kraj samog koda, ne bi trebalo da ima to veze.


Nisam hteo da kazem da ce resiti problem iskljucivamnjem e. report-a, nego sam samo hteo da napomenem da ukoliko ne resi problem na osnovu prethodnih post-ova, eventualno obrati paznju i na ovo I meni error_reporting stoji na pocetku index stranice (preko koje se sve ostale stranice pozivaju) i desavalo mi se da se pojavi ova greska (Headers already sent) bas iz tog razloga

Jos jednom se izvinjavam ako mi je poruka bila nejasna, nadam se da sam sad bolje objasnio


[ c0de @ 19.02.2009. 16:19 ] @
Ama provjeravao sam liniju i 100% se nalazi "header("Location: http://www.sajt.com/");"

Nemam nikakav error report.Napravio sam kao neki log in koji sa forme prosledjuje korisnika i sifru (POST) metodom na "ulogovan.php", ako nije ispravno korisnicko ime i sifra da odradi redirekciju na index stranu.A ako bude ispravno da prikaze neke linkove.

Sve sam dobro uradio samo na freehostia ne radi dobro dok kod mene na 127.0.0.1 radi sve ok.


Pa mene interesuje da li postoji neka druga komanda za redirekciju ja sam nasao samo Java script,meni treba PHP.
[ centaur @ 19.02.2009. 16:26 ] @
Sto ne stavis ob_start i ob_end_flush ko sto ti covek lepo rece gore?!
[ Nikola Poša @ 19.02.2009. 16:43 ] @
Citat:
c0de: Ama provjeravao sam liniju i 100% se nalazi "header("Location: http://www.sajt.com/");"

Koju si liniju koda proveravao? 26 ili 10? Nisi dobro prochitao ono shto su te pitali Robert i Dalibor...

Pre pozivanja header f-je ne sme da bude nikakav output (echo). Ili modifikuj taj tvoj kod, ili koristi ob_start()...
[ Nemanja Avramović @ 19.02.2009. 18:19 ] @
Kao što mVeliki reče, pročitaj ovo, drži se toga i nećeš imati problema.
[ Man-Wolf @ 19.02.2009. 18:28 ] @
Stavi na pocetak skripte:

Code:

error_reporting(0);


Na freehostia-i stoji error_report postavljen na E_ALL i E_NOTICE (2039) po default-u. Probaj to, pa javi ...
[ dsivic @ 13.05.2009. 20:22 ] @
do ovog problema često dođe i zbog encodinga scripte, kada se otvori u editoru ti skriveni znakovi se ne vide.
[ agvozden @ 14.05.2009. 08:25 ] @
Pretpostavljam da pre headera nemas nikakva output... ( <html><head><meta>... )

onda otvori skript u notepad++ i pokusaj da setujes enkoding (utf-8 without BOM, ili ANSI...) Ukoliko koristis UTF-8 moze doci do prevremenog outputa...
[ b0ris @ 14.05.2009. 08:47 ] @
Pored svega vec navedenog proveri moze i ovo da ti bude problem.

Malo glupo ali desava se mnogima. Proveri da slucajno nemas enter ili space na pocetku koda. Ili negde u dubini (u includovanim stranicama ako imas takve).
Znaci kod bi morao da ti pocne sa <?php
[ stough_ser @ 14.05.2009. 10:08 ] @
Citat:
b0ris: Pored svega vec navedenog proveri moze i ovo da ti bude problem.

Malo glupo ali desava se mnogima. Proveri da slucajno nemas enter ili space na pocetku koda. Ili negde u dubini (u includovanim stranicama ako imas takve).
Znaci kod bi morao da ti pocne sa <?php


najcheshci razlog :)

elem, poshto radi na 127....
verovatno nije, poshto je copy/past-vao
ppretpostavljam

ovako, na prvi pogled

probaj ispred 10 reda (shta god da je) da stavish @


[ Nikola Poša @ 14.05.2009. 10:17 ] @
btw Što je uostalom ponovo "načeta" ova tema, kad je poslednji post bio pre skoro 3 meseca (19.02.)... :S Taj koji je postavio ovu temu je verovatno već rešio taj problem...