Pagina 1 din 1

delogare user dupa un anumit timp de inactivitate

Scris: Vin Dec 02, 2016
de sterica
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

Scris: Vin Dec 02, 2016
de MarPlo
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.

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...
}

delogare user dupa un anumit timp de inactivitate

Scris: Vin Dec 02, 2016
de sterica
In fisierul login.inc.php am pus $_SESSION['timp_access'] = time ();

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");
}
?>
insa nu stiu cum procedez cu acest cod:

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...
}
il pun in fiecare fisier al siteului?
Multumesc!

delogare user dupa un anumit timp de inactivitate

Scris: Vin Dec 02, 2016
de MarPlo
sterica scrie:il pun in fiecare fisier al siteului?
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.
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.

delogare user dupa un anumit timp de inactivitate

Scris: Vin Dec 02, 2016
de sterica
Am reusit, functioneaza. Pt delogare am pus un

Cod: Selectaţi tot

session_destroy();
si

Cod: Selectaţi tot

header ("Location: login.php");
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!