Ciao a tutti,
Ho un problema con le sessioni.. o meglio non riesco a chiuderle.
Ho un piccolissimo progettino di login composto da tre pagine:
Prima pagina (Controlla se si è gia registrati altrimenti redirige verso la pagina di login):
Codice PHP:
<?php
session_start();
if(!isset($_SESSION['user'])) {
header("Location:log.php");
}
?>
[...]HTML TAGS[...]
<?php
$name = $_SESSION['user'];
$ssid = session_id();
$out = "Ciao $name
";
$out .= "L\'ID sessione è:$ssid
";
echo $out;
?>
[url="out.php"]Logout[/url]
[...]HTML TAGS[...]
la seconda pagina che esegue il login (se giusto mi riporta alla pagina 1 con il contenuto 'protetto')
Codice PHP:
<?php
if(isset($_POST['user']) && isset($_POST['pwd'])) {
if($_POST['user'] == "example" && $_POST['pwd'] == "example") {
session_start();
$_SESSION['user'] = $_POST['user'];
$_SESSION['upwd'] = $_POST['pwd'];
header("Location:default.php");
}
}
?>
[...]HTML HEADERS[...]
<body>
<form action="log.php" method="post">
<label>Inserisci Usernname:</label>
<input type="text" name="user" />
<label>Inserisci Password:</label>
<input type="password" name="pwd" />
<input type="submit" value="Loggati" />
</form>
</body>
</html>
la terza pagina.. quella che dovrebbe eseguire un'ipotetico logout
Codice PHP:
<?php
session_start();
$_SESSION=array();
session_destroy();
header("Location:default.php");
?>
Il problema è questo.. quando tento il logout dal link della pagina 1, la pagina di logout viene eseguita senza errori poi come previsto mi redirige alla prima supponendo che avendo desettato le variabili di sessione e distrutto la sessione questa si comporti come se fosse la prima visita e invece... spiattella ben benino le stesse informazioni di sessione di prima. Inoltre ho notato che se chiudo e riapro il browser e ricarico la pagina si inizia nuovamente da capo come dovrebbe essere, ma le sessioni non hanno un timeout di 30 min ? oppure ho letto male? Grazie per l'aiuto!