Anch'io ho un problema simile, perché quando vado a fare il logout è vero che la sessione mi si distrugge, ma io rimango comunque pur sempre loggato. Ora mi spiego meglio: nell'index ho messo questo testo:
Codice PHP:
<? if (!$idpower)
{
?> <font color="#FFFFFF" size="1">[b]Registrati adesso[/b]</font> <?
}
else
{
?> <font color="#FFFFFF" size="1">[b]Ciao <?php echo $_SESSION['user'] ?>[/b]</font>
<?
}
?>
e devo dire che SESSION['user'] scompare, ma viene comunque la scritta "ciao", come per dire che idpower rimane inalterata da prima del logout. Ora, io ho usato il codice di logout suggerito in questo topic, mentre la variabile idpower viene definita nella pagina login.php che vi riporto:
Codice PHP:
<?php
session_start();
if ($_SESSION['mod'] == 'attivo') {
include("db.utenti.inc.php");
mysql_connect("$db_host","$db_user","$db_password") or die(mysql_error());
mysql_select_db("$db_name") or die(mysql_error());
//Prendiamo i dati dell'username associata, grazie alla sessione passata da index.php
$query = "SELECT id_utente, power FROM utenti WHERE username = '$_SESSION[user]'";
$risultato = mysql_query($query) or die(mysql_error());
$loggin = mysql_fetch_array($risultato, MYSQL_ASSOC);
include('session/db_session_class.php');
// selezione del Database
mysql_select_db($db_name) or die(mysql_error());
// Istanziamo l'oggetto
$my_session = new my_session($session_time, $session_gc_time);
// Avviamo la sessione inviando il cookie al client
$my_session->my_session_start();
// Richiamiamo la procedura di garbage collection
$my_session->my_session_gc();
// Registriamo due variabili
$my_session->my_session_register('id_loggin', "$loggin[id_utente]");
//questo non da il nick, ma da l'ID di registrazione
$my_session->my_session_register('ip', "$remote_addr");
$my_session->my_session_register('idpower', "$loggin[power]");
//Da il livello della persona
print '<meta http-equiv="Refresh" content="1; URL=index.php">';
}
else print '<meta http-equiv="Refresh" content="1; URL=index.php">';
?>
Qualcuno mi può aiutare?