Ciao a tutti,


sto creando un area riservata per il momento é in fase di costruzione e di test.
Ho un porblema che non riesco a risolvere, praticamente mi loggo come Admin e qui tutto bene poi sul secondo pc che ho mi loggo come michel e fin qui anche tutto bene, ora al momento del logout dell'utente admin, mi va a impostare la sessione a 0 cioé non loggato, pero mi sono accorto che se l'utente michel effettua anche lui il logout non funziona correttamente perche al logout di admin mi ha messo la sessione a 0 (non loggato).

Spero di essermi spiegato se no ci riprovo.

Il mio codice é questo:

Codice PHP:
// Avvio la sessione

session_start();

// Funzione controlla username and password

function checkLogin($user$pass) {
    
$sid session_id();
    
$_SESSION['auth'] = 0;
    include
"config.inc.php";
mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
    
$sql "SELECT * FROM tb_login WHERE lg_usr = '$user' AND lg_pwd = '$pass'" ;
    
$query mysql_query($sql) or die ("Errore nella query" mysql_error());
    
$result mysql_fetch_assoc($query);
    
$usr $result['lg_id'];
    
$uname $result['lg_usr'];
            
    if(
mysql_num_rows($query) > 
    {
        
header("Location: admin.php?action=LoginOk" "&usr=" $usr "&sid=" $sid );
        
mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
        
$sql "UPDATE tb_login SET lg_session = '$sid', lg_useronline = '1', lg_first = NOW() WHERE tb_login.lg_id = '$usr'";
        
$query mysql_query($sql);
        
$_SESSION['username'] = $uname;
        
$_SESSION['auth'] = 1;
        exit();
    } else {
        
header("Location: login.php?action=LoginFail");
        exit();
    }
    }
    
// Funzione verivica se si é loggati

function verifyAuth() {
if(isset(
$_SESSION['auth']) && $_SESSION['auth'] == 1){
    } else {
    
header("Location: login.php?action=LoginFail");
    exit();
    }
    }

// Funzione per il logout

function logOut() {
    
header("Refresh:15; URL=login.php?action=LogOut");
    include
"config.inc.php";
    
$usrid $_GET['usr'];
    
mysql_select_db($database_name$conn) or die ("Errore nel selezionare il database: " mysql_error());
    
$sql "UPDATE tb_login SET lg_session = '', lg_useronline = '0', lg_last = NOW() WHERE tb_login.lg_id = '$usrid'";
    
$query mysql_query($sql);
    
session_unset();
    
session_destroy();
    echo 
"<html>";
    echo 
"<head>";
    echo 
"<link href='stylecss.css' rel='stylesheet' type='text/css'>";
    echo 
"<body>";
    echo 
"







"
;
    echo 
"<table width='600' align='center' border='1' cellpadding='0' cellspacing='0' >";
    echo 
"<tr>";
    echo 
"<td bgcolor='#CCCCCC'>";
    echo 
"
"
;
    echo 
"<div align='center' class='TestoLogOut'>";
    echo 
"Logout in corso, tra qualche secondo sarai reindirizzato alla pagina di login.</br>";
    echo 
"Se il tuo browser non supporta il reindirizzamento automatico clicca ";
    echo 
"[url='login.php?action=LogOut']qui[/url]";
    echo 
"</div>";
    echo 
"
"
;
    echo 
"</td>";
    echo 
"</tr>";
    echo 
"</table>";
    echo 
"</body>";
    echo 
"</head>";
    echo 
"</html>";
    exit();
    } 
Il problema credo che sia nella funzione di logout quando eseguo il session_unset e session_destroy, come posso risolvere?


EDIT:
se volete vedere ho messo online il tutto qui , provate ad entrare con tutti e due gli utenti e poi a fare un login di uno e nellatra pagina fate un rafresh, sparira la sessione impostata a 1, giusto per farvi vedere cosa intendo.

1 utente
Username : test
password : test

2 utente
username : mich
password : mich70

Grazie Michel