Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/09/2007, 09h47   #1
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
Par défaut Délai d'inactivité d'une session

Bonjour

pour entrer dans une admin
je créé une session pour login et mdp ...
Code :
1
2
3
4
5
6
7
 
if (isset($_POST['login'])) {
    $_SESSION['login'] = verif($_POST['login']);
    $_SESSION['mdp'] = verif($_POST['mdp']);
	$_SESSION['tps'] = 180;//3 minutes
	$_SESSION['time'] = time();
}elseif (!isset($_POST['login'])) header("Location: ".URL_BO."/identification.php");
au bout d'un certain temps d'inactivité, tous les liens pointent vers une page blanche
pour contourner ce probleme j'ai placer ce script dans un page appelée par toutes les autres :
Code :
1
2
3
4
5
6
7
8
 
if(time()>$_SESSION['tps'] + $_SESSION['time']){
	session_destroy();
	//header("Location: ".URL_BO."/identification.php");
	echo '<script language="javascript" type="text/javascript">window.location.replace("'.URL_BO.'/identification.php");</script>';
}else{
$_SESSION['time'] = time();
}
resultat : juste apres 180 secondes je suis redirigé vers la page que je veux
mais si l'activité est beaucoup longue : page blanche!

merci de votre aide
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 10h48   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Hum
Ajoute des parenthèses

Code :
1
2
3
4
 
if(time()>$_SESSION['tps'] + $_SESSION['time'])
 
if(time()>($_SESSION['tps'] + $_SESSION['time']))
C'est normale tu essayes d'accèder a des variables qui n'existent plus puisque ta session a expiré.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 11h11   #3
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
merci
comment y remédier?
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/09/2007, 13h34   #4
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
test tes variables rajoute des isset

Code :
1
2
3
4
5
6
7
8
9
10
 
if(isset($_SESSION['tps'] )){
if(time()>($_SESSION['tps'] + $_SESSION['time'])){
	session_destroy();
	//header("Location: ".URL_BO."/identification.php");
	echo '<script language="javascript" type="text/javascript">window.location.replace("'.URL_BO.'/identification.php");</script>';
}else{
$_SESSION['time'] = time();
}
}
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h07.


 
 
 
 
Partenaires

Hébergement Web