Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] sesje - pytanie
adam83
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 2.11.2009

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


Witam,

Mam takie pytanie odnośnie sesji.
W momencie logowania powstaje zmienna sesji np $zalogowany. Na każdej chronionej podstronie pierwsze linie kodu to sprawdzenie czy taka zmienna istnieje, jeśli nie to przekierowanie do strony logowania.
Czy aby zmienna sesji "przeżyła" wymagane jest aby na każdej odwiedzanej po zalogowaniu podstronie na początku był
?
Zrobiłem tak i ostatnio napotkałem dziwne błędy i warningi, pomogło dodanie
.


Widziałem gdzieś że obie komendy są czesto stosowane obok siebie w skryptach logowania, jak to działa? moze mi ktoś wytłumaczyć?
z góry wielkie dzieki.
Pzdr.

Ten post edytował adam83 16.01.2010, 11:06:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
230005
post
Post #2





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Co do ob_start - najlepiej będzie chyba wytłumaczyć na przykładzie:

jeśli przed session_start() będzie jakieś echo, albo skrypt spowoduje że php zwróci błąd (nie fatal error - bo wtedy nie zadziała wcale, raczej jakiś warning) to dostaniesz wiadomość, że "headers alrent sent... cośtam". Funkcja ob_start buforuje wszystko co może zostać wysłane do przeglądarki, a więc w tym wypadku najpierw nagłówki session_start, a dopiero później to co wypluje skrypt.

W każdym razie to, że bez ob_start() skrypt rzucał błędami i ostrzeżeniami oznacza, że session_start umieściłeś za linią wysyłającą wynik, lub powodującą błąd, a powinieneś na samym początku.

Ten post edytował 230005 16.01.2010, 16:52:44
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 16:29