problemino con le sessioni

catellostefano

Utente Attivo
19 Dic 2008
525
2
0
www.stepo.biz
Salve oggi ho iniziato un corso di php, da utodidatta su una guida fornita da mrwebmaster,
sono arrivato a creare una bella pagina ma ora non so perchè non mi effettua una funzione.
Provate ad andare:
http://php.ismaele.eu/sessioni/

inserite dati a piacere, aspettate...
ora in alto a destra troverete i dati prima inseriti, fate logout, ma in alto a destra ci sono ancora i dati personali.

Vi riporto il codice della pagina logout.php:
<?
//Elimino tutte le variabili di sessione
unset($_SESSION['username']);
unset($_SESSION['password']);
?>

<HTML>
<HEAD>
<TITLE>Logout</TITLE>
<META HTTP-EQUIV="REFRESH" CONTENT="2; URL=index.php">
</HEAD>
<BODY>
<h1><?
//Scrivo i dati
print "Ti sei sloggato"
?></h1>
</BODY>
</HTML>


GRAZIE:fonzie::fonzie:
 
Il problema può dipendere anche dalla login; setti anche un cookie?
Prova a usare nel tuo codice:

PHP:
setcookie(DIPENDE DALLE TUE VARIABILI);
session_destroy();
header (location: VEDI TU);

:)
 
nella pagina che ti ha segnalato Borgo troverai questa segnalazione:
If you create a logout.php to end user session, do not forget to start the session in this page!, using session_start() at the very begging of your script.
ricordati quindi che anche nella pagin dove elimini le sessioni devi inserire session_start() prima di qualsaisi altro output;

Un modo molto veloce di eliminare qualsiasi sessione attiva potrebbe essere il seguente:
PHP:
<?php
session_start();
$_SESSION = array();
if (isset($_COOKIE[session_name()])) {
    setcookie(session_name(), '', time()-42000, '/');
}
session_destroy();
?>
 
ciao,
grazie Eliox ci sono riuscito!!
ho semplicemente copiato ed incollato!!

Però vorrei sapere cosa ho fatto!! se mi puoi spiegare cosa sono i comandi dati nella stringa!!(a parte i basilari es. session_start(); )
:fonzie::fonzie:
 
PHP:
<?php
# inizializzo la sessione
session_start();
# svuoto l'array di sessione
$_SESSION = array();
# se è attivo un qualsiasi cookie..
if (isset($_COOKIE[session_name()])) {
# lo elimino settandolo come già scaduto
    setcookie(session_name(), '', time()-42000, '/');
}
# eliminimo qualsi dato di sessione esistente
session_destroy();
?>
 

Discussioni simili