Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Dziwne zachowanie session_start() po require()
Forum PHP.pl > Forum > Przedszkole
Mr Groch
Witam

Mam taki problem. Aby przeslac przez $_SESSION jakis obiekt, to session_start() musi byc
zadeklarowany bo zdefiniuwaniu danej klasy... Mam taki skrypt:

  1. <?php
  2.  
  3. // tj plik naglowkowy klas
  4. require('config_class.php');
  5.  
  6. session_start(); // start sesji
  7. ...
  8. ?>


I wywala:
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/ladder/config_class.php:204) in /var/www/ladder/index.php on line 6

Problem w tym, ze w pliku config_class.php nie ma nic innego jak tylko definicja klasy, jej wlasicwosci i
metody... A linia 204 w tym pliku to znacznik zamykajacy:

?>

Jezeli dam session_start(); na koniec pliku config_class.php to blad juz nie wyskakuje...
Podobnie jesli dam session_start(); na poczatku pliku index.php, przed require('config_class.php');
Tylko, ze wtedy nie moge przekazac przez $_SESSION obiektu...

O co chodzi?
Z gory dzieki
Pozdrawiam
Cysiaczek
Być może ten włączany plik ma gdzieś np na końcu jakąś spację lub inny znak. jest to równoznaczne z wysłaniem czegoś do przeglądarki, a zatem sesja leży.

Pozdrawiam.
Sabistik
Pokaż mi gdzie takie głupoty wypisują o tym session_start po definicji klasy. a w config_class.php pewnie masz jakieś niewidoczne znaki na początku/końcu pliku.
Mr Groch
Cytat(Sabistik @ 9.12.2006, 21:27:47 ) *
Pokaż mi gdzie takie głupoty wypisują o tym session_start po definicji klasy. a w config_class.php pewnie masz jakieś niewidoczne znaki na początku/końcu pliku.


Dzieki, faktycznie byla spacja biggrin.gif

A co do tych glupot:

http://www.php.net/session

Cytat
Dzieje się tak, ponieważ definicje klas muszą być załadowane przed rozpoczęciem sesji aby możliwe było odtworzenie obiektów zawartych w sesji.
Sabistik
Masz racje, problem nie występuje tylko w przypadku jawnej serializacji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.