![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
witam
stworzyłem sobie klasę do obsługi sesji i teraz przy jej wywołaniu: Kod include_once('klasy/session.inc.php'); $session=new Sesja; wywala błąd, że nagłówek już został wysłany do przeglądarki. Co wysyła ten nagłówek? Czy robi to funkcja include? Klasa session.inc.php nie przekazuje do przeglądarki żadnego tekstu więc nie rozumiem co sie dzieje :-) I teraz drugie pytanie. Problem rozwiązałem włączając buforowanie: Kod ob_start(); include('klasy/session.inc.php'); $session=new Sesja; ob_end_clean(); Czy jest jakieś inne rozwiązanie mojego problemu? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
eh a może byś pokazał co tam napisałeś.. wróżki to my nie jesteśmy
-------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Klasa session.inc.php nie przekazuje do przeglądarki żadnego tekstu to raczej powinno Ci wystarczyć i oszczędź sobie zwrotów z wróżką. Jak nie znasz rozwiązania to po co piszesz? session.inc.php: Kod <?php
class Sesja { private $session=array(); public function __construct() { session_start(); } public function __set($nazwa, $wartosc) { $_SESSION[$nazwa]=$wartosc; } public function __get($nazwa) { return $this->session[$nazwa]=$_SESSION[$nazwa]; } } ?> |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 7 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
W podanym kodzie brak nawiasów jak tworzysz obiekt
Sprawdz też czy nie masz jskiś spacji/enterów po znaczniku zamykającym php "?>", w pliku z klasą sesji dobrym pomysłem jest też zrezygnowanie ze znacznika zamykającego (nie jest on konieczny) Ten post edytował merk 1.09.2008, 11:16:33 -------------------- Kwatery prywatne
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 10.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
właśnie nie mam żadnej spacji ani innych dodatkowych znaków. Próbowałem nawet bez znacznika kończącego php i nic ( nie wydaje mi się to zbyt poprawne).
A jeśli tworzymy obiekt klasy i nie przekazujemy konstruktorowi żadnych danych to wydaje mi sie że nawiasy nie są potrzebne ( mogę się mylić :-) ). Mimo wszystko obiekt klasy jest tworzony, moge na nim operować, ale tak jak pisałem wyskakuje niskopoziomowy błąd, że nagłówek już został wysłany. Tylko przez co? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Hej, W podanym kodzie brak nawiasów jak tworzysz obiekt
mylisz się.. to nie Java, a php dopuszcza brak nawiasów. -------------------- eh, co polska wódka to polska wódka
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 7 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Heh, przyznaje racje, nawiasy nie sa wymagane.
A wracając do tematu może sprawdź zawartośc bufora? echo "-".ob_get_contents()."-"; -------------------- Kwatery prywatne
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:05 |