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