Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje - logowanie
Forum PHP.pl > Forum > PHP
djluzak
Mam system logowania oparty na sesjach.
[php:1:846965c108]<?php
#czesc kodu logowania
session_start();
$_SESSION[login] = $login_;
$_SESSION[haslo] = md5($haslo_);

#wylogowanie
unset($_SESSION[login]);
unset($_SESSION[haslo]);
session_destroy();
?>[/php:1:846965c108]

To jest mniejwiecej schemat logowania, brakuje wielu linijek kodu ale to jest nieistotne. Chodzi mi o to ze w po jakims czasie zmienne sesji wygasaja i uzytkownik zostaje wylogowany (przy bezczynnosci). Jak mozna ustawic sesje zeby sie wylogowywac dopiero w momencie nacisniecie przycisku wyloguj i zeby sesja nie niszczyla sie sama??
splatch
[php:1:ff4241544c]<?php
if( $_GET['corobic'] == 'logout' )
{
session_destroy()
}
?>[/php:1:ff4241544c]

Jeśli chcesz ustawić długość sesji:
[php:1:ff4241544c]<?php
if( session_cache_expire( ) + 900 < time() )
{
session_cache_expire( time() + 3600 )
}
?>[/php:1:ff4241544c]
Działanie jest proste, jeśli do wygaśnięcia sesji zostało 15 minut to jest ona przedłużana na kolejną godzinę winksmiley.jpg.
djluzak
A gdybym wykorzystal tylko ta czesc:
[php:1:6c0eac0477]<?php
session_cache_expire( time() + 3600 )
?>[/php:1:6c0eac0477]
czy sesja nie bylaby zawsze przedluzana o godzine wzgledem biezacego czasu?
Cudi
Jeszcze trzeba wziąźć pod uwagę sytuację, że jeśli SESSID jest trzymany w ciasteczku to może ono wygansąć i użytkownik znów zostanie wylogowany. Tak więc w parze z [manual:6a7b87cab8]session_cache_expire()[/manual:6a7b87cab8] powinno pójść [manual:6a7b87cab8]session_set_cookie_params()[/manual:6a7b87cab8].
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.