Jesteś tutaj: webmade.org >> porady >> php + mysql
autor: Bartosz 'regua' Reguła, ostatnia modyfikacja: 2007-02-23
Gdy posługując się PHP próbujesz wysłać cookies, utworzyć nową sesję albo wysłać nagłówki HTTP, zamiast oczekiwanego wyniku możesz zobaczyć błąd "Headers already sent". Szukasz rozwiązania w innych kursach - radzą, aby wszelkie odwołania do HTTP umieścić przed znaczkikiem <html>. Co jednak, gdy nie możesz tego zrobić? Z pomocą nadchodzi buforowanie.
Całość ogranicza się tylko do dwóch funkcji. Jest to ob_start() które umieszczamy na samym początku pliku i ob_end_flush(), które powinno znaleźć się na końcu. Cały plik powinien wyglądać tak:
<?php ob_start(); ?> <html> <head> // dane </head> <body> // dane </body> </html> <?php ob_end_flush(); ?>
Teraz HTTP nie powinno generować żadnych błędów związanych z wysyłaniem nagłówków. PHP zbiera wysyłane dane i wysyła je wszystkie razem zanim przeglądarka zacznie interpretować kod HTML.
Bartosz 'regua' Reguła
szukaj: buforowanie błąd headers already sent PHP
Osoby czytające tę publikację przeglądały również:
© 2004-2008 copyright by webmade.org