![]() |
![]() |
--Początkujący-- |
![]()
Post
#1
|
Goście ![]() |
Mam problem z sesjami, a mianowicie sesja nie kończy się, gdy jestem afk ponad +20 minut - wydaje mi się ze po takim czasie sesja nie powinna już istnieć.
Nawet, gdy wyłącze i włącze przeglądarke to sesja dalej trwa. Dopiero po kliknieciu wyloguj sesja się kończy. Dopiero się ucze php, więc nie wiem czy kod jest poprawny, na 100% gdzieś zrobiłem błąd.. Proszę mnie nie odsyłać do kursów, bo przeglądałem juz kilka. Manual także mi nie pomógł. Ogólnie nie wiem czy można tak pisać stronę (IMG:style_emoticons/default/biggrin.gif) ale tak jak wspomniałem, dopiero się uczę - dużo przede mną. A więc plik index.php
pliki profil.php/ustawienia.php wyglądają podobnie czyli:
header.php
foother.php nie bede podawal bo tam jest tylko stopka w htmlu. config.php nie wiem czy to rozpoczecie sesji w configu jest potrzebne.. ale czekam na wasze wypowiedzi (IMG:style_emoticons/default/wink.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 29 Dołączył: 5.04.2007 Skąd: Rymanów Zdrój/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
sesja nie może wygasnąć bo nie masz timeoutu. musisz po zalogowaniu usera wprowadzic zmienna sesyjna, która będzie trzymać czas logowania. przy każdej zmianie strony sprawdzasz czas obecny - czas ostatniej aktywnosci, jesli jest wiekszy od jakiejś wartości która Cię interesuje (powiedzmy 10 min). Jeśli nie minęło to w zmienna sesji wstawiasz obecny czas. jesli minelo przekierowujesz do wylogowania, badz niszczysz sesje.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Do "dokładnego" odmierzania czasu zakończenia sesji służą cookie (na necie znajdziesz pełno poradników jak z nich korzystać).
Ten post edytował CuteOne 22.10.2011, 22:03:37 |
|
|
--Początkujący-- |
![]()
Post
#4
|
Goście ![]() |
Bemol możesz mi to tak szybciutko napisać jak to ma wyglądac? Bo nie wiem czy do końca zrozumiałem (IMG:style_emoticons/default/smile.gif)
Ciasteczka staram się omijać, bo przecież nie każdy musi mieć je włączone. A już tak przy okazji możecie mi powiedzieć co jest źle w tym co napisałem? (IMG:style_emoticons/default/biggrin.gif) |
|
|
--Początkujący-- |
![]()
Post
#5
|
Goście ![]() |
@odświeżam
nie wiem jak zrobić coś takiego jak bemol mi powiedział bez pomocy ciastek. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 77 Dołączył: 10.07.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z php sprawa wygląda tak, że jak się załaduje, to nic bez Twojej ingerencji się nie zrobi (samo z siebie polecenie do serwera nie zostanie wysłane).
Więc możesz to zrobić na przykład tak:
Czyli - po załadowaniu się strony, zegar tyka i powiedzmy że użytkownik nie wykonał akcji przez 60 * 20 + 1 sekund, to po następnej akcji będzie się musiał ponownie zalogować (czy co tam z tym zrobisz). |
|
|
--Początkujący-- |
![]()
Post
#7
|
Goście ![]() |
Napisałem takie coś, działa ale chciałbym zapytać czy są gdzieś błędy.
Do mysql w dodałem do tabeli users pole online. W header.php dodałem
i przy logowaniu, gdy dane się zgadzają i następuje zalogowanie i przeniesienie na strone dodałem Czy to jest prawidłowo napisane? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 1 Dołączył: 30.04.2010 Ostrzeżenie: (10%) ![]() ![]() |
wedlug mnie brak zabezpieczenia sesji i dlatego nie mozna jej zamknac.
|
|
|
--Początkujący-- |
![]()
Post
#9
|
Goście ![]() |
wedlug mnie brak zabezpieczenia sesji i dlatego nie mozna jej zamknac. Można jaśniej ?(IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 20:29 |