Cannot modify header information – co zrobić?
PHP + MySQL Aktualizacja: 24.07.2017

Cannot modify header information – co zrobić?

Przy pisaniu własnych skryptów, gdzie wykorzystuje się ciasteczka (ang. cookies), sesje czy nagłówki (ang. headers) napotkałeś pewnie błąd typu:

Warning: Cannot modify header information - headers already sent

Spokojnie. Jest on często spotykany, ponieważ korzystając z wyżej wymienionych, należy pamiętać o zachowaniu pewnej kolejności. Problem dotyczy porządku przy wysyłaniu kolejnych elementów strony. Na samym początku inicjuje się sesje, wysyła nagłówki i ustawia ciasteczka. Jeśli zrobimy inaczej to wyświetli się wymieniony błąd. Słowem: treść należy zamieścić po, a nie przed.

Rozwiązaniem problemu jest włączenie bufora wyjściowego. Na początku kodu wstawiamy:

<?php
ob_start();
?>

Natomiast na końcu:

<?php
ob_end_flush();
?>

Dzięki dwóm linijkom kodu problem rozwiążemy raz na zawsze.

Autor: . Tagi: . Źródło obrazek główny: Pixabay.

Dodaj komentarz

1 Komentarz do "Cannot modify header information – co zrobić?"

avatar
najnowszy najstarszy oceniany
Suchy
Gość

Nieraz zamiast bawić się w ob_start wystarczy zmienić kodowanie strony (np z UTF-8 na UTF-8 z BOM) oraz sprawdzić czy jakaś spacja się nie wdarła do jakiegoś pliku.