Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    17

    chiudere la sessione anche quando chiudo il browser

    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>

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2021
    Messaggi
    1
    Ciao Alhazred, anche dopo anni e anni la tua risposta è molto utile, ti ringrazio! Credo che l'Italia non ha paesi rivali e semmai ti rivolgi di nuovo ad un italiano, ascolta prima per due minuti la canzone di De Gregori "Generale" (la guerra è finita).

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.