Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header
Forum PHP.pl > Forum > Przedszkole
marmot
czy moze mi ktos wyjasnic dlaczego wypisuje mi:

Warning: Cannot modify header information - headers already sent by (output started at /home/rosa/ftp/zamowienia/header.php:30) in /home/rosa/ftp/zamowienia/comment.php on line 17

w header.php mam:

$userIP = getenv("REMOTE_ADDR");

if (!preg_match("/80.53.198.242/", "$userIP")) {

header("Location: http://www.onet.pl/");


}

i koliduje to z:

header("Location: edit.php");

ktory jest w pliku comment.php, oczywiste mam w comment.php require(header.php) dlatego tak sie dzieje, tylko nie rozumiem dlaczego serwer bierze wogole pod uwage to skoro warunek if (!preg_match("/80.53.198.242/", "$userIP")) nie jest spelniony...

prosze o jakies pomysly na rozwiazanie tego :)
matrach
Nagłowki muszą być wysyłane jako piewrsze (nie może być nawet spacja), lecz jest na to rada - buforowanie.
Dajesz na początku skryptu
  1. <?php
  2.  
  3.  
  4. ?>

Ob_start()
A na końcu
  1. <?php
  2.  
  3.  
  4. ?>

ob_end_flush()
Jeśli nie chcesz tego wszędzie pisać w .htaccess dodaj linijke
Kod
php_flag output_buffering On
TomASS
A czytałeś to zanim napisałeś ? tongue.gif (szczególnie pkt 6) - jest tam link do tego smile.gif
siemakuba
Cytat
tylko nie rozumiem dlaczego serwer bierze wogole pod uwage to skoro warunek if (!preg_match("/80.53.198.242/", "$userIP")) nie jest spelniony...


bierze pod uwagę dlatego, ze:
Kod
zachowanie instrukcji jest następujące: require() będzie zawsze próbować odczytać plik docelowy, nawet jeśli linia w której ona się znajduje nigdy nie zostanie wykonana. Instrukcja warunkowa nie wpływa na działanie require().


require" title="Zobacz w manualu php" target="_manual

pozdr.
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.