Salutare,
Am un site si accesul in interiorului se face printr-un login, cum pot face ca dupa un anumit tip de inactivitate pe site sa il delogheze pe user. Daca sunt necesare mai multe detalii privind codul, va rog sa imi spuneti sa le pot posta.
Multumesc!
delogare user dupa un anumit timp de inactivitate
-
- Mesaje:285
delogare user dupa un anumit timp de inactivitate
MarPlo
Mesaje:4343
Salut
Se poate face asa:
1. Cand se logheaza user-ul, setezi si o sesiune cu timpul curent.
2. La fiecare accesare se verifica acea sesiune, daca diferenta fata de timpul accesarii e in interval se reinoieste acea sesiune, altfel se delogheaza utilizatorul.
Se poate face asa:
1. Cand se logheaza user-ul, setezi si o sesiune cu timpul curent.
2. La fiecare accesare se verifica acea sesiune, daca diferenta fata de timpul accesarii e in interval se reinoieste acea sesiune, altfel se delogheaza utilizatorul.
Cod: Selectaţi tot
//$_SESSION['timp_access'] e setata la logare: $_SESSION['timp_access']=time();
//then, this code in the php files with session
$interval =15*60; //15 minutes
$timp = time();
if(isset($_SESSION['timp_access']) && ($timp -$_SESSION['timp_access'])<=$interval) $_SESSION['timp_access'] = $timp;
else if(isset($_SESSION['timp_access'])){
unset($_SESSION['timp_access']);
//delogare...
}
sterica
Mesaje:285
In fisierul login.inc.php am pus $_SESSION['timp_access'] = time ();
insa nu stiu cum procedez cu acest cod:
il pun in fiecare fisier al siteului?
Multumesc!
Cod: Selectaţi tot
<?php
....
if (!$row = $result->fetch_assoc()) {
$_SESSION['gresit'] = 'User sau parola introdusa gresit';
header ("Location: ../index.php");
}
else {
$_SESSION['timp_access'] = time ();
$_SESSION['level'] = $row['LEVEL'];
$_SESSION['nume_user'] = $row['NUME'] . ' ' . $row['PRENUME'];
header ("Location: ../chest.php");
}
?>
Cod: Selectaţi tot
//$_SESSION['timp_access'] e setata la logare: $_SESSION['timp_access']=time();
//then, this code in the php files with session
$interval =15*60; //15 minutes
$timp = time();
if(isset($_SESSION['timp_access']) && ($timp -$_SESSION['timp_access'])<=$interval) $_SESSION['timp_access'] = $timp;
else if(isset($_SESSION['timp_access'])){
unset($_SESSION['timp_access']);
//delogare...
}
Multumesc!
MarPlo
Mesaje:4343
Cred ca se pune in toate fisierele unde are user-ul access, si nu sunt incluse intr-un fisier in care ai adaugat deja acel cod.sterica scrie:il pun in fiecare fisier al siteului?
Sau intr-un fisier care e comun la toate, cu session_start() la inceput.
- Fiinnd concentrat pe ceea ce vrei sa obtii iti vei da seama cum sa faci.
sterica
Mesaje:285
Am reusit, functioneaza. Pt delogare am pus un si pentru a reveni la pagina de login. Tot codul il am intr-un fisier extern pe care il inserez in fisierele siteului.
Multumesc mult MarPlo!
Cod: Selectaţi tot
session_destroy();
Cod: Selectaţi tot
header ("Location: login.php");
Multumesc mult MarPlo!