[ Prika @ 09.01.2005. 16:14 ] @
| Kada pozovem funkciju: header('Location:index.php');
Dobijam poruku:
Warning: Cannot modify header information - headers already sent by (output started at ..\projekat\header.php:8) in ..\projekat\search.php on line 8
U čemu je problem?
Na koji način da ga izbegnem? |
[ sojic @ 09.01.2005. 16:19 ] @
Ovakve probleme se cesto desavaju, ima po forumu.
Ukratko. Pokusavas da koristis header funkciju nakon echo ili print. header, cookie, i sl. funkcije ne smes pozivati posle slanje nekog teksta klijentu.
Nadam se da je dovoljno jasno.
[ Prika @ 09.01.2005. 16:31 ] @
Ovako izgleda kod iznad header funkcije:
<?php
include('include_fns.php');
include('header.php');
$destination=substr($HTTP_POST_VARS["destination"],1);
$conn = db_connect(0);
$word=$HTTP_POST_VARS['keyword'];
if(empty($word)) header('location:"'.$destination.'"');
.....
....
I naravno rezultat je gore navedena poruka!
[ sojic @ 09.01.2005. 16:34 ] @
Pa pogledaj include fajlove, tamo sigurno imas neki print.
Pretpostavljam u header.php imas
echo "<html>..";
Pokusaj ovako:
Code:
$destination=substr($HTTP_POST_VARS["destination"],1);
$word=$HTTP_POST_VARS['keyword'];
if(empty($word)) header('location:"'.$destination.'"');
include('include_fns.php');
include('header.php');
[ index @ 09.01.2005. 17:54 ] @
Dovoljno je da se na kraju include fajla iza zavrsnog php taga "?>", (ili pre pocetnog "<?php"), nalazi
praznina, (space, newline, tab), pa da parser to posalje.
Razlog je sto parser kada naidje na zavrsni tag, prelazi u html mod, odnosno salje
sve do sledeceg pocetnog taga. Zato proveri sve include fajlove, i naravno da li
kao sto je prethodno navedeno imas neku echo, print naredbu.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.