scadenza sessioni

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
io proverei a tirare fuori dall'if il ini_set('session.gc_maxlefttime','2');

PHP:
if(!isset($_SESSION)){ 
session_start(); 
}  
ini_set('session.gc_maxlefttime','2');
perchè se la sessione esiste la riga non viene eseguita
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
grazsie per la risposta! - ma purtroppo niente - se faccio F5 dopo 10 secondi la sessione risulta sempre settata (ovvero continuo a vedere prova)....

ti posto il codice - potresti vedere se a te ti fa l'unset della sessione in locale?

PHP:
<?php
if(!isset($_SESSION)){  
session_start();  
}   
ini_set('session.gc_maxlefttime','10');
?>
<html>  
<head>  
</head>  
<body>  
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'> 
<input type='text' name='user' /><br /> 
<input type='submit' name='login' /><br /> 

</form> 
<?php  

if(isset($_POST['login'])){ 

if($_POST['user']=='emanuele'){ 
$_SESSION['auto']='prova';  
} 
} 

//qui $_SESSION['auto'] dovrebbe smettere di essere settato dopo 10 secondi?  
//se aggiorno la pagina dopo 10 secondi me lo fa apparire !! 
if(isset($_SESSION['auto'])){ 
echo $_SESSION['auto'];  
} 
?>  
</body>  
</html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
credo che il problema non sia su (al massimo sto dicendo una ca..ata)
ini_set('session.gc_maxlefttime','10');
ma sul fatto che dando l'aggiorna in pratica tu riinvii il form e quindi ricrei tutte le volte la sessione
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
purtroppo penso di no. perchè se faccio così (vedi codice) nn funziona ugualmente ...
Ma ti pare che qualcuno non ha mai provato questa funzione? qualcuno mi può postare un codice in cui a lui funziona :incazz2:
PHP:
<?php 
if(!isset($_SESSION)){   
session_start();   
}    
ini_set('session.gc_maxlefttime','10'); 
?> 
<html>   
<head>   
</head>   
<body>   
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>  
ciao<input type='text' name='user' /><br />  
<input type='submit' name='login' /><br />  

</form>  
<?php   

if(isset($_POST['login'])){  

if($_POST['user']=='emanuele'){ 
//**********ho fatto in modo che solo se la sessione non è stata creata la crea*****/ 

if(!isset($_SESSION['auto'])){
$_SESSION['auto']='prova';   

//**********ho fatto in modo che solo se la sessione non è stata creata la crea*****/
}
}  
}  

//qui $_SESSION['auto'] dovrebbe smettere di essere settato dopo 10 secondi?   
//se aggiorno la pagina dopo 10 secondi me lo fa apparire !!  
if(isset($_SESSION['auto'])){  
echo $_SESSION['auto'];   
}  
?>   
</body>   
</html>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse qualcosina sono riuscito a fare sensa usare ini_set
1. entri nel form e scrivi emanuele + submit la prima volta e session auto diventa prova
2. se dai l'aggiorna, trascorsi 10 secondi, session auto non esite più
c'è un piccolo però
se non sono trascorsi 10 secondi non riesci più a immettere un'altra password ne emanuele
in quanto session contatore non è null
solo trascorsi i 10 secondi riesci ad inserire nuovamente emanuele e auto diventa di nuovo prova per altri 10 secondi
sembrerebbe comunque che i vari "aggiorna" trascorsi i 10 secondi non ricreano più la sessione auto

PHP:
<?php  
if(!isset($_SESSION)){    
session_start();    
}      
?>  
<html>    
<head>    
</head>    
<body>    
<form action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post'>   
ciao<input type='text' name='user' /><br />   
<input type='submit' name='login' /><br />   
</form>   
<?php    
//riesco ad entrare solo se ho dato il subimit e se la session contatore è NULL
if(isset($_POST['login']) && $_SESSION['contatore']==NULL){
	//le sessioni contatore e vita si aggiornano solo se sono entrato nell'if del post  
	$_SESSION['contatore']=(int)$_SESSION['contatore']+1;
	//session vita si aggiorna solo se entro nell'if
	$_SESSION['vita']=time()+10;//dieci secondi dalla creazione
	if($_POST['user']=='emanuele'){  
		$_SESSION['auto']='prova';
	}   
}else{
	echo "<br> non sono entrato enll'if";
}
//sino a che session vita è maggiore di time NON sono passati 10 secondi
if($_SESSION['vita']<time()){
	unset($_SESSION['auto']);
	unset($_SESSION['contatore']);//unsetto il contatore per poter ricominciare
}
echo "<br>il contatore dovrebbe rimanere sempre uno ".$_SESSION['contatore'];
echo "<br>il tempo di vita dovrebbe sempre rimanere uguale".$_SESSION['vita'];
echo "<br>quindi la sessione auto risulta ".$_SESSION['auto'];
?>     
</body>
</html>
dai un occhio se ti serve a qualcosa, altrimenti butta via tutto

p.s.
quando scrivi usa l'indentazione
 

emanuelevt

Utente Attivo
24 Giu 2009
298
0
0
Grazie mille!!!

Online ho visto molti script che tentavano di gestire il time() per far scadere le sessioni ma l'unico che mi funziona è questo e il tutto senza usufruire di un database !!!

Ora devo assemblarlo al mio file, se ho difficoltà ti rompo ancora :eek:.
Grazie ancora !!!
 
Discussioni simili
Autore Titolo Forum Risposte Data
G Controllo scadenza sessioni PHP 2
D [JSP] Gestire eccezioni relative alla scadenza delle sessioni Java 0
SolidSnake4 tempo scadenza sessioni PHP 6
E scadenza licenza software PHP 1
P Visual Studio VB.NET Visualizzare un messaggio alla scadenza. .NET Framework 0
crealatualista [PHP] Data di scadenza formato (aammgg) PHP 5
filomeni Scadenza cookie PHP 3
G Controllo scadenza date PHP 6
S Inviare email reminds scadenza PHP 25
max_400 Scadenza cookie... non si cancella entro il tempo stabilito PHP 1
H Record con scadenza in giorni PHP 2
max_400 php: sessione scadenza a tempo e reidirect - by max4001976 PHP 1
G Scadenza date PHP 3
neo996sps Scadenza di una news PHP 35
J Scadenza Cookie Classic ASP 5
B Scadenza iscrizione utenti PHP 0
A scadenza sessione o cookie? PHP 2
G Scadenza Variabili di Sessione Classic ASP 1
keyascii File temporanei Sessioni PHP 6
T PROBLEMA CON SESSIONI PHP 3
ilsuomillennio Sessioni PHP 3
maxnegri Contare sessioni aperte e creare condizione PHP 1
AC1 Sessioni php PHP 16
S [PHP] problemi con le sessioni PHP 3
B [PHP] Reload pagina e sessioni PHP 3
A Php e sessioni PHP 3
J sessioni in PHP PHP 3
T gestione livelli sessioni php msqli PHP 1
M Problema MySQL e sessioni MySQL 0
A form su più pagine e sessioni PHP 8
V Le sessioni: ho dei dubbi sul posizionamento PHP 6
A sessioni sicure? PHP 5
M Sessioni??? PHP 4
C Sessioni in php (urgente) PHP 4
R Efficenza sessioni con proxy PHP 0
baobabdesign Problema scrittura sessioni PHP 0
Shyson Non mantiene sessioni PHP 0
L segnalare l'utilizzo delle sessioni come accade per i cookie PHP 0
D Login con sessioni per 2 pagine diverse PHP 2
L problema array con le sessioni PHP 1
D Sessioni e variabili PHP 4
R problema con le sessioni PHP 2
L Sessioni rank [#PHP] PHP 3
R Sessioni, cookies e token di autenticazione PHP 0
E [risolto] win 8.1 + IE11 le sessioni PHP non fuonzionano correttamente PHP 7
A Sessioni php PHP 0
otto9due [risolto] Problema sessioni php e login PHP 5
B Sessioni PHP 10
H [risolto] Uso delle SESSIONI PHP 2
F Sessioni PHP 1

Discussioni simili