[PHP] Cannot modify header information – headers already sent by

Co takiego oznacza ten komunikat i jak sobie z nim poradzić?

Thank you for reading this post, don't forget to subscribe!

“Cannot modify header information – headers already sent by” – oznacza, że jak sam komunikat wskazuje – nie można zmodyfikować nagłówków dla danej strony za pomocą PHP. Powodem tej sytuacji jest to, że przed przekierowaniem header wyslaliśmy juz jakies informacje:

Przykładowy kok generujący taki błąd:

 
 

Rozwiązanie

Dla szybkiego rozwiązania tego problemu dodajemy do pliku w którym umieszczamy przekierowanie header funkcje buforowania ob_start() i ob_end_flush()

Przykład rozwiązania:

 
 

Teraz na stronie nie powinien wygenerować się nam żaden błąd związany z wysyłaniem nagłówków. PHP zbiera wszystkie dane i wysyła je razem zanim przeglądarka zacznie interpretować kod HTML strony.