Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd-Cannot modify header information
Forum PHP.pl > Forum > Przedszkole
dark_root
Napisałem ostatnio pewnie skrypt, który trzymałem na serwerze. Serwer jednak dzisiaj zmieniłem na inny. Ku mojemu zdziwieniu pojawiły się błędy w kodzi. Dotyczą one tego, iż niby do przeglądarki został wysłany już kod html a ja chce dopiero teraz edytować header'sy. kod działa na takiej zasadzie:
>strona w php
>echo "coś w html";
>include('druga strona');

i w pliku includowanym dopiero tworzy się cookie, czego nie chce przepuścić na tym serwerze a na starym przepuszczało. Próbowałem za pomocą ob_start(); i ob_end_flush(); jednak bez skutku. Na tym serwerze nie działa nawet przykładowy kod z wikibooksów dotyczący tego tematu
  1. <?php
  2.  
  3.     ob_start();
  4.  
  5.     echo '<h1>Tytuł witryny</h1><p>I inne komendy HTML.</p>';
  6.    
  7.     setcookie('wizyta', time(), time() + 30 * 86400);
  8.     if(!isset($_COOKIE['wizyta']))
  9.     {        
  10.         echo '<p>Witaj, gościu.</p>';
  11.     }
  12.     else
  13.     {
  14.         echo '<p>Witaj, ostatni raz odwiedziłeś nas '.date('d.m.Y, H:i', $_COOKIE['wizyta']).'</p>';    
  15.     }
  16.  
  17.     ob_end_flush();
  18. ?>

?>
wyskakuje takie coś
Kod
[b]Warning[/b]:  Cannot modify header information - headers already sent by
Konieczna jest edycja kodu czy można jakoś to zrobić, żeby usunąć ten problem bez zbędnej edycji?
Wicepsik
  1. <?php
  2. ?>
dark_root
hmm nic to nie dało. Wyskakuje teraz jeszcze jeden komunikat
Kod
[b]Warning[/b]:  session_start() [[url="http://rapidcar.frihost.org/function.session-start"]function.session-start[/url]]: Cannot send session cache limiter - headers already sent (output started at /home/webruben/domains/rapidcar.frihost.org/public_html/loguj.php:1) in [b]/home/webruben/domains/rapidcar.frihost.org/public_html/loguj.php[/b] on line [b]3[/b]
wookieb
Ustaw twój edytor by tworzył pliki utf8 bez nagłówków BOM.

Sprawdź czy przed <?php nie ma zadnych spacji ani zadnych innych pustych znaków.
dark_root
Wielkie dzięki:p a co to jest to bom, że robi taką różnicę?
Spawnm
Szukajcie a znajdziecie...
http://pl.wikipedia.org/wiki/BOM
dark_root
Acha.
Mam jednak kolejny problem
Próbuje edytować kolejny plik w ten sposób. Jednak w tym występują sesje i wyskakuje mi takie coś
Kod
[b]Warning[/b]:  session_start() [[url="http://rapidcar.frihost.org/function.session-start"]function.session-start[/url]]: Cannot send session cache limiter - headers already sent (output started at /home/webruben/domains/add.php) in [b]/home/webruben/domains/add.php[/b] on line [b]17[/b]

a linia 17 to właśnie session_start()
Co z tym zrobić?
pyro
Odpowiedź znajdziesz w temacie, przeczytaj jeszcze raz.
dark_root
Chodzi o post Wicepsik'a? Jeżeli tak to session_start() mam na początku tak jak on.Chyba, że chodzi o coś innego?
Spawnm
Ehhh.... przeczytaj wszystkie posty zastosuj się ponownie do rad, a problem ustąpi.
Temat zamykam , wszystko co potrzebne zostało już powiedziane .
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.