Wątek przeniesiony 2018-01-26 13:44 z JavaScript przez Patryk27.

Cannot modify header information - headers already sent by

0

Witam.

Mam pewien problem...

Stworzyłem sobie na sklepie kalkulator który przesyła dane poprzez JSON

header('Content-Type: application/json');
	echo json_encode($return_arr);

problem polega na tym, że non stop mam komunikat : Cannot modify header information - headers already sent by (output started at cos.php) in cos2.php on line x

1

Z trylion lat temu w PHP-ie pisałem ale z tego co pamiętam to chyba coś takiego pomagało:

<?php
  ob_start();

  // code 

 ob_end_flush();
?> 
1

Wrzuć cały plik.

0

@Świetny Szewc: Jesteś wielki :) Działa :)

0

Include functions: https://pastebin.com/66u1u8Wh

0

Oh, my - któryś z plików albo ma kodowanie UTF z BOM (i wtedy to ten BOM jest wysyłany na samym początku, przez co nie możesz później nadać nagłówków), albo gdzieś po drodze robisz echo.

Musiałbyś wrzucić wszystkie pliki lub, najlepiej, zweryfikować samemu.

Obstawiam, że masz tam gdzieś BOM - otwórz każdy z plików w hexedytorze i sprawdź.

Rozwiązanie z ob jest wyłącznie hackiem, ponieważ powoduje buforowanie wyjścia i jego wyczuszczenie, przez co "ukryty" zostaje BOM (lub jakieś echo) i problem może wtedy znowu wyjść przy innej okazji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1