![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 16:29 |