Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Dziwne zachowanie session_start() po require()
Mr Groch
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.05.2005
Skąd: Knurów

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


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

Ten post edytował Mr Groch 9.12.2006, 21:35:47
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




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.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
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%)
-----


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.
Go to the top of the page
+Quote Post
Mr Groch
post
Post #4





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 23.05.2005
Skąd: Knurów

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


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.
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%)
-----


Masz racje, problem nie występuje tylko w przypadku jawnej serializacji.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 12:09