Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Witam.

Spotkalem sie wczesniej z tym problemem gdy plik byl w UTF8, lecz po zmianie na ANSI problem zniknął.

Teraz nic nie pomaga..

Dałem require na plik.php.

Zawartość pliku to "a" - jedna literka.

Próbowałem zmieniac kodowanie na UTF8/ANSI, nawet tworzyc nowy plik, lecz problem nie znika.

Gdy zawartość pliku jest pusta wtedy nie ma errorków.

Co poradzić?

a

Warning: Cannot modify header information - headers already sent by (output started at /plik.php:1) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 114

Warning: Cannot modify header information - headers already sent by (output started at /plik.php:1) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 127

Warning: Cannot modify header information - headers already sent by (output started at /plik.php:1) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 136

Warning: Cannot modify header information - headers already sent by (output started at /plik.php:1) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 137

Warning: Cannot modify header information - headers already sent by (output started at /plik.php:1) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 141

Edytowane przez PawelS
Opublikowano

linijka 114

header("HTTP/1.1 " . $this->_headerCode . ' ' . $this->_headerStatus );

linijka 127

header( "Content-type: text/html;charset=" . IPS_DOC_CHAR_SET );

linijka 136

header( "Cache-Control: ". $nocache . "must-revalidate, max-age=" . $maxAge );

linijka 137

header( "Expires: " . $expires );

linijka 141

header( "Pragma: no-cache" );

jak te linijki wylacze znakami // to jest ok, ale nie wiem czy tak mozna to zostawic?

Opublikowano

Próbowałeś przy kodowaniu UTF-8, czy UTF-8 bez BOM? Jeśli to pierwsze to zrób z drugim.

Drugą sprawą jest sam plik, skąd on jest? Jest to część jakiejś aplikacji czy autorska samoróbka? Wcześniej działał poprawnie?

Opublikowano

Próbowałeś przy kodowaniu UTF-8, czy UTF-8 bez BOM? Jeśli to pierwsze to zrób z drugim.

Drugą sprawą jest sam plik, skąd on jest? Jest to część jakiejś aplikacji czy autorska samoróbka? Wcześniej działał poprawnie?

Próbowałem zanim napisałem, nie zdaje to żadnego rezultatu.

Tak na poczatku była to aplikacja, jednak nie pod IPB, błąd się ten pojawiał, wiec postanowilem wyczyscic caly plik i zobaczyc co bedzie wtedy.. lecz to samo, jak tez pisałem stworzyłem nowy plik by byc pewien że nie ma żadnych BOM. Ale problem nie znika. Jest to bardzo śmieszna sytuacja.. bo na localhoscie, na tej samej wersji IPB wszystko działa, a na hostingu home.pl niee... Jedynie to może ma na to wpływ wersji php.. na localhoscie wczesniej też mi nie chodziło, zmieniłem wersje nie pamietam jakiej na 5.3.13 i już pięknie chodzi. Na home również mam możliwość zmiany interpretera php w wersji 5.2 na 5.3 (5.3.17), ale nie przynosi to żadnego efektu.

Wyświetlasz jakieś dane (echo, print) przed headerem?

Nic, Czysty silnik, czysty styl. i glupi czysty plik php z zawartością jednej literki. :/

Opublikowano

nom wiec pisalem wczesniej za zawartosc to tylko literka "a", tal czy tak powinno chodzic...

nawet jak w echo dam ta literke to tez jest ten error.

Opublikowano

nom wiec pisalem wczesniej za zawartosc to tylko literka "a", tal czy tak powinno chodzic...

nawet jak w echo dam ta literke to tez jest ten error.

Bo plik nie może bezpośrednio zwracać danych, bez znaczników <?php interpreter PHP próbuje (z powodzeniem) wyświetlić dane bo traktuje je jak każdy inny plik.

Natomiast wyświetlanie danych przed header() kończy się błędem bo klient kończy odbieranie danych w tym momencie.

Przykładowo:

<?php
echo 'tekst';
header('jestem headerem');

Wygeneruje błąd, natomiast:

<?php
header('jestem headerem');
echo 'tekst';

Poprawnie wyświetli wszystkie dane.

Więc do wyświetlenia danych z pliku odsyłam do: http://forum.invisionize.pl/tutorials/article/34-podstawowe-uzywanie-php-w-szablonach/

Masz tam też przykłady z plikami includowanymi.

  • 5 tygodni później...
Opublikowano (edytowane)

Przykładowo:

<?php
echo 'tekst';
header('jestem headerem');

Wygeneruje błąd, natomiast:

<?php
header('jestem headerem');
echo 'tekst';

Poprawnie wyświetli wszystkie dane.

Jednak niee..

Dałem do czystego pliku zawartość:

<?php
header('jestem headerem');
echo 'tekst';

Zapisane w UTF-8 bez BOM

w szablonie globalTemplate dałem:

<php>
require "tabelka/indexa.php";
</php>
{$output}

a i tak dalej mam:

Malformed header from CGI script: jestem headerem Content-type: text/html tekst
Warning: Cannot modify header information - headers already sent by (output started at /tabelka/indexa.php:3) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 114
Warning: Cannot modify header information - headers already sent by (output started at /tabelka/indexa.php:3) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 127
Warning: Cannot modify header information - headers already sent by (output started at /tabelka/indexa.php:3) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 136
Warning: Cannot modify header information - headers already sent by (output started at /tabelka/indexa.php:3) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 137
Warning: Cannot modify header information - headers already sent by (output started at /tabelka/indexa.php:3) in /admin/sources/classes/output/formats/html/htmlOutput.php on line 141

EDIT

Zamieniłem echo na $output = i dziala :) + musiałem usunąć "header('jestem headerem');" bo inaczej wszystko sie sypalo.

Można zamknąć :)

Edytowane przez PawelS
Opublikowano (edytowane)

Dalej przekazujesz echo i header w szablonach, jak do ściany normalnie. :o

Moje przykłady dotyczyły osobnych plików PHP a nie szablonów IPB.

Edytowane przez Macsch15
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.