- Home
- Categorie
- Coding e Sistemistica
- PHP
- Logout ed eliminazione variabili di sessione
-
perchè a me non funziona il log out?
Questo il codice:
<?php
session_start();
unset( $_SESSION['id']);// Ho provato anche session_unset()
unset($_SESSION['login']);
unset($_SESSION['group']);// destroy PHP session
session_destroy();// return to site homepage
header("Location: index.php");
?>
-
unset( $_SESSION['id']);// Ho provato anche session_unset()
unset($_SESSION['login']);
unset($_SESSION['group']);non servono...
basta session_destroy();
-
non cambia ... non succede niente lo stesso anche se non uso la funzione unset
-
deve funzionare per forza....
-
invece niente ... dove può essere il problema?
Aggiungo anche il codice per avviare la sessione che ho usato :
if ($_POST['user'] == $user && $_POST['pass'] == $pass) {
session_start();
$_SESSION['login'] = "ok";
$_SESSION['group'] = $group;
$_SESSION['id'] = $id;
//echo 'Autorizzato';
header("Location: menu.php");
}
-
fai così.....a me funziona sempre meglio di altro!!!
$_SESSION['login'] = "";
$_SESSION['group'] = "";
$_SESSION['id'] = "";
-
@Digital Daigor said:
fai così.....a me funziona sempre meglio di altro!!!
$_SESSION['login'] = "";
$_SESSION['group'] = "";
$_SESSION['id'] = "";non va neanche così ... mmmhmmm
-
nella pagina di logout
[php]
// Inizializza la sessione.
// Se state usando session_name("qualcosa"), non dimenticatevelo adesso!
session_start();
// Desetta tutte le variabili di sessione.
session_unset();
// Infine , distrugge la sessione.
session_destroy();
[/php]
-
Metto il codice che ho usato per l'avvio, la valutazione e la chiusura della sessione.
Il logout continua a non funzionare ovvero quando clicco sul link alla pagina logout.php mi fa il redirect ma la variabile $_SESSION['login'] continua ad essere valorizzata e non posso neanche cambiare utente a meno di chiudere il browser.questo è il codice per avviare la sessione ...
if ($_POST['user'] == $user && $_POST['pass'] == $pass) {
session_start();
$_SESSION['login'] = "ok";
$_SESSION['group'] = $group;
$_SESSION['id'] = $id;
//echo 'Autorizzato';
header("Location: menu.php");
}Questo è quello per l'accesso alle pagine riservate ...
if ($_SESSION['login'] != "ok") {
header("Location: index.php");
}questo è quello per il logout
session_start();
$_SESSION = array();
/* ho provato anche con
ho provato anche con:
session_unset()
unset()e con
$_SESSION['login'] = "";
$_SESSION['group'] = "";
$_SESSION['id'] = "";
*/session_destroy();
// return to site homepage
header("Location: index.php");Dopo il log out riesco ad entrare lo stesso nelle pagine riservate.
-
nn avevo visto questo:
$_SESSION['login']prova a resettarlo!!
$_SESSION['login'] = "";
-
ho provato anche quello.
stamattina ho provato ad installare il progetto in locale e funziona tutto!
Quindi credo che dipenda dalle impostazioni del webserver del mio provider ... ma che configurazione di php influisce sulla scrittura delle variabili di sessione?
Suggerimenti?
-
può essere influenzato dalle impostazioni sulle variabili....
ad esempio....
se viene passato un valore un get, esempio: ?prova=1lo puoi richiamare tramite $prova
potrebbe essere quello il problema.....guarda se hai variabili con nome uguale....