![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.02.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Pisze właśnie stronkę która umożliwia logowanie się na stronie różnych userów. Wylogowałem sie i wszystko było ok do momentu gdy przez pomyłkę kliknąłem na przycisk wstecz swojej przeglądarki. Wyświetlił mi się komunikat "Strona wygasła" no to wcisnąłem odświerz i ujrzałem iż wylogowany przed chwilą user znów był zalogowany. Szukałem i znalazłem coś na zasadzie
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header ("Cache-Control: no-cache, must-revalidate"); header ("Pragma: no-cache"); Według opisu te nagłówki należy umieścić w kodzie na każdej dostępnej stronie po zalogowaniu. Jednak gdy to umieściłem w kodzie sytuacja się powtórzyła. Proszę o pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej
Cytat Pisze właśnie stronkę która umożliwia logowanie się na stronie różnych userów. Wylogowałem sie i wszystko było ok do momentu gdy przez pomyłkę kliknąłem na przycisk wstecz swojej przeglądarki. Wyświetlił mi się komunikat "Strona wygasła" no to wcisnąłem odświerz i ujrzałem iż wylogowany przed chwilą user znów był zalogowany.
Po kolei - przegladam twoj kod i widze ze masz ustawianie zmiennej sesyjnej zlogin - wystarczy wiec ze zeby sprawdzic czy ktos jest zalogowany sprawdzac bedziesz czy istnieje ta zmienna sesyjna. do tego pewnie juz doszedles. druga sprawa to "odswiez" ktore znowu zalogowuje - tutaj moge tylko przypuszac. jesli odsiezasz strone na ktorej wczesniej ciebie zalogowalo to dane (login & haslo) sa ponownie wysylane do skryptu php a ten autentykuje. Aby rozwiazac tego typu problemy zamiast od razu pokazywac "to jest ..." mozesz przekierowywac na inna strone - jesli autentykacja sie powiodla na strone dla zalogowanych, jesli nie na strone dla niezalogowanych. w ten sposob odpada "odswiez" - czesto to najprtsze rozwiazanie. Ja sugerowalbym jednak cos wydaje mi sie lepszego - zamiast niszyc sesje zostaw ja i tylko usun (unregister) zmienne zlogin itd. wowczas aby sprawdzac czy ktos jest zalogowany wystarczy ze bedziesz sprawdzal czy istnieje zmienna sesyjna. jesli nie - uzytkownik nie jest zalogowany lub go wlasnie wylogowales ;) PS uzywanie session_register jest odradzane. Od jakiegos czasu promowane jest np bezposrednie uzywanie $_SESSION["zmienna"] = "wartosc"; <-- w ten sposob deklarujesz zmienna sesyjna, widoczna na nastepnej stronie ;) Jest to o tyle wygodne ze nie musisz tworzyc dodatowej zmeinnej ktora zaraz przekazesz do session_register. latwiej tez troszke nad wszystkim panowac. uf. starczy - jak cos niejasne to pytaj. Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 12:07 |