Salve a tutti , dunque ho un problema , ho creato un sito con registrazione e login , l'utente una volta loggato entra in una parte privata attraverso il salvataggio dei dati in una sessione.

quando finisce di fare quello che deve basta che clicca su esci e tutto va a meraviglia.

Successivamente ho pensato che siccome volevo tenere traccia e stampare gli utenti online , ho creato una tabella dinamica in phpmyadmin dove vengono salvati momentaneamente gli utenti online e al logout cancellati.

quindi la tabella risulta vuota quando si escce e con n elementi a seconda di chi si logga.


il mio problema rimane quando invece di fare il logout tramite pulsante chiudo la pagina.

se vado a ricaricare mi ritorna nella pagina privata e non distrugge la sessione, vi posto il codice di modo che potete dare un'occhiata:

Codice PHP:
<?php

    
include 'header.php';
   
?>

    <div id="wrapper">
    
        <?php
        
            $p 
$_GET['azione'];
            
            
// login.php?azione=login
            
if($p == "login"){
            
                if(!isset(
$_POST['invia'])){ ?>
                    
                    <form method="post" action="#" id="formlogin">
                    <h2 align="left">Login</h2>
                    <hr noshade></hr>
                        <label for="username"align="left">Username</label>

                        <input type="text" name="username" id="username" />



                        <label for="password" align="left">Password</label>

                        <input type="password" name="password" id="password" />



                        <input type="submit"  align="left" name="invia" id="login" value="Accedi" />
                    <hr noshade></hr>
                    </form>
                    
<?php             } else {

                    
$username mysql_real_escape_string($_POST['username']);
                    
$password mysql_real_escape_string($_POST['password']);
                    
                    if(
$username == "" || $password == ""){
                    
                        echo 
"Attenzione, devi compilare tutti i campi";
                    
                    } else {
                    
                        
$password_cript md5($password);
                        
                        
$recuperadati mysql_query("SELECT * FROM utente WHERE username = '$username' AND password = '$password_cript'");
                        
                        
$verificadati mysql_num_rows($recuperadati);
                        
                        if(
$verificadati == 1){
                        
                            
$sessione mysql_fetch_array($recuperadati);
                            
$_SESSION['utente'] = $sessione['username'];
                            echo 
"<label>Login effettuato con successo!</label>";
                            
header("Refresh: 2; URL= index.php");
                        
                        } else {
                        
                            echo 
"Dati non presenti nel database!";
                        
                        }
                    
                    
$ut=$_SESSION['utente'];
                
                
$prendionline=mysql_query("SELECT username FROM utente WHERE username='$ut'");
                
$rows mysql_fetch_array($prendionline);
                
$username $rows['username'];
                
                
$immettionline=mysql_query("INSERT INTO utente_online (username) VALUES ('$username')");
                
                
$stampautenteonline=mysql_query("SELECT * FROM utente_online");
                                
$conta=mysql_num_rows($stampautenteonline);
 
                                
$i=0;
                                while (
$i $conta
                            {
                                
$username=mysql_result($stampautenteonline,$i,"username");
                           
                                
                               
                                
$i++;
                            }
                    }
                 
                }
            
            
            
// login.php?azione=logout
            
} elseif ($p == "logout"){
                                
session_destroy();
                                
$ut=$_SESSION['utente'];
                    
$eliminautentionline mysql_query("DELETE FROM utente_online WHERE username='$ut'");
                                echo 
"


<h3><center>Ciao ciao "
.$ut." torna presto,ti aspettiamo</center></h3>";
                
header("Refresh: 2; URL= index.php");
                }
                
            
?>
    
    
    
    </div>
    
</body>
</html>