Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Cannot modify header information, wiem ze było, ale....
marrrecki
post
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Witam.
Wiem, że nie raz było pisane o błędzie "Cannot modify header information", ale przeszukałem to forum pod kątem błędu i nie znalazłem nic sensownego.
Dokładny kod błędu:
  1. <?php
  2. Warning: Cannot modify header information - headers already sent by (output started at /home/(...)/pl.php:1) in /home/(...)/functions.php on line 4
  3. ?>


Błąd ewidentnie wskazuje na pierwszą linię pliku pl.php, przy czym w pierwszej linii tego pliku jest znak "<?php". Nidzie przed wywołaniem funkcji header() nie mam ani echo ani print ani niczego co mogłoby wysyłać jakiekolwiek informacje do przeglądarki.

Ten post edytował marrrecki 30.03.2008, 23:23:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
qrees
post
Post #2





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

Ostrzeżenie: (0%)
-----


Cytat(marrrecki @ 30.03.2008, 20:20:08 ) *
Witam.
Wiem, że nie raz było pisane o błędzie "Cannot modify header information", ale przeszukałem to forum pod kątem błędu i nie znalazłem nic sensownego.
Dokładny kod błędu:
  1. <?php
  2. Warning: Cannot modify header information - headers already sent by (output started at /home/(...)/pl.php:1) in /home/(...)/functions.php on line 4
  3. ?>


Błąd ewidentnie wskazuje na pierwszą linię pliku pl.php, przy czym w pierwszej linii tego pliku jest znak "<?php". Nidzie przed wywołaniem funkcji header() nie mam ani echo ani print ani niczego co mogłoby wysyłać jakiekolwiek informacje do przeglądarki.

Skoro nie masz ani echo, ani print, ani header ani nic podobnego, to co ten skrypt właściwie robi??
Go to the top of the page
+Quote Post
Sabistik
post
Post #3


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


To pewnie masz jakiś BOM - o czym było na forum nie raz.


Przenoszę na przedszkole.
Go to the top of the page
+Quote Post
MaestroS
post
Post #4





Grupa: Zarejestrowani
Postów: 65
Pomógł: 0
Dołączył: 8.11.2006
Skąd: Kanagawa-ken, Japonia

Ostrzeżenie: (10%)
X----


Może @ob_start();
Go to the top of the page
+Quote Post
Sabistik
post
Post #5


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ludzie błagam, nie wpychajcie wszędzie buforowania zwłaszcza że nie do tego typu problemów jest stworzone. Nie uczmy obchodzić tak błędów, bo to nie jest rozwiązanie. Zwłaszcza na dziale przedszkole gdzie należy uczyć dobrych nawyków, bo potem wyrastają programiści z kwiatka. Zacznę chyba dawać warny za tego typu rozwiązania.
Go to the top of the page
+Quote Post
marrrecki
post
Post #6





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Sabistik: poczytałem, poprzerabiałem. Teraz na każdej stronie mam ten sam błąd w linii #1 tyle że odnosi się do głownego pliku index.php.

Cytat
Skoro nie masz ani echo, ani print, ani header ani nic podobnego, to co ten skrypt właściwie robi??

Napisałem "przed wywołanie funkcji header()" - czyli gdzies tam ona jest.

ob_start() nie ma tu nic do rzeczy i w żaden sposób nie pomaga.

Temat dalej aktualny

Ten post edytował marrrecki 30.03.2008, 21:20:16
Go to the top of the page
+Quote Post
jarek_bolo
post
Post #7





Grupa: Zarejestrowani
Postów: 149
Pomógł: 12
Dołączył: 3.03.2008
Skąd: łódzkie

Ostrzeżenie: (0%)
-----


To może wklej zawartość pliku index.php, nie karz nam się domyślać.
Ewentualnie wrzuć go gdzieś do ściągnięcia.
Go to the top of the page
+Quote Post
Sabistik
post
Post #8


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Następny...
~krzywy36 wyjaśnij mi w czym pomaga twoja wypowiedź, odnosząc się do problemu poruszonego w temacie - inaczej dostaniesz warna i moderke na nowe posty.
Go to the top of the page
+Quote Post
marrrecki
post
Post #9





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


  1. <?php  <--TO JEST LINIA #1 w pliku index.php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. //zapisany plik konfiguracyjny
  4. $settings = array();
  5. require('includes/configs.php');
  6.  
  7. //Ustaw sesję
  8. require('classes/session.php');
  9. $sess = new session;
  10. $sess->_SessionStart();
  11.  
  12. //ustaweinie konfiguracji
  13. require('classes/configure.php');
  14. $config = new configure;
  15.  
  16. //Połączenie z bazą danych
  17. require('classes/mysql.php');
  18. $mysql = new mysql;
  19. $mysql->connect($config->mysql_name(), $config->mysql_host(), $config->mysql_login(), $config->mysql_pass());
  20.  
  21. //funkcje globalne
  22. require('classes/functions.php');
  23. $globals = new functions;
  24.  
  25. //dołączenie języków
  26. require('languages/pl.php');
  27.  
  28. //pobranie ustawień z bazą danych
  29. $settings_query = $mysql->select('conf_key, conf_value', 'configs');
  30. while($settings_fetch = $mysql->fetch_array($settings_query)){
  31. $settings[$settings_fetch['conf_key']] = $settings_fetch['conf_value'];
  32. }
  33.  
  34. //linki
  35. require('classes/links.php');
  36. $link = new link;
  37.  
  38. //podłączenie plików akcyjnych
  39. if(!empty($_GET['module'])){
  40. require('modules/'.$settings[$_GET['module']].'/action.php');
  41. }
  42.  
  43. //załadowanie odpowiedniego modułu
  44. if(!isset($_GET['module']) || empty($_GET['module'])){
  45. $module = 'main';
  46. $file = 'index';
  47. } else {
  48. $module = $settings[$_GET['module']];
  49. }
  50. ?>


Dopiero niżej dołączane są pliki wyświetlające jakąkolwiek zawartość
Zapomniałem jeszcze wcześniej napisać odnośnie BOM - wszystkie pliki (oprócz css) mają kodowanie ustawione na utf-8. css'y są na UNIX

Ten post edytował marrrecki 30.03.2008, 21:41:42
Go to the top of the page
+Quote Post
Crozin
post
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Tak, ale można zapisać jako UTF8 z BOM lub UTF8 bez BOM (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Jeżeli wstawiłbyś stronę online moglibyśmy sprawdzić czy jest BOM

Cytat
css'y są na UNIX
Tutaj pewnie chodzi Ci o format zapisu nowej lini
Kod
windows - \r\n
unix - \n
mac os - \r
Ale to nie ma nic do rzeczy.
Go to the top of the page
+Quote Post
marrrecki
post
Post #11





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Lublin

Ostrzeżenie: (0%)
-----


nie moge wstawić online niestety. Jak moge sprawdzić czy jest BOM?

Temat zamknięty. poradziłem sobie.
Dla potomnych rozwiązanie:
Faktycznie chodziło o BOM. Użyłęm notatnika, w którym mogłem sobie wybrać czy kodowanie plikó w utf-8 ma dołączać BOM czy nie (notepad++ ma taką opcję).

Ten post edytował marrrecki 30.03.2008, 22:11:54
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 21:05