Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Sessioni

  1. #1

    Sessioni

    Buonasera!
    gestisco il login e il logout tramite le sessioni.
    Quindi utilizzo le funzioni:
    session_start(),session_unset() e session_destroy().
    L'accesso funziona. E forse anche il logout. Solo che se, dopo aver effettuato il logout,
    ritorno indietro di una pagina, la pagina mi riappare come se niente fosse.
    Ho per caso dimenticato qualcosa? Devo gestire qualcos'altro?

    Codice PHP:
    //Login.php
    <?php
    session_start
    ();
    $hostname='localhost';
    $username='root';
    $passwd='';
    $conn=mysql_connect($hostname,$username,$passwd);

    if(! 
    $conn)
    {
    echo (
    "server connection error");
    exit();
    }  

    mysql_select_db('database');

    $nomeU $_POST['nomeU'];
    $passw $_POST['passw'];

    if((
    $nomeU=="")||($passw==""))
    {
        if(
    $nomeU=="")
        {
            echo(
    "Inserire username
    "
    );
        }
        if(
    $passw=="")
        {
            echo(
    "Inserire password
    "
    );        
        }
        exit();
        
    header('Location:login.html');
    }

    $querylogin mysql_query("SELECT utenti.nomeU,utenti.passw,utenti.codP
                               FROM utenti
                               WHERE utenti.nomeU = '
    $nomeU' AND utenti.passw = '$passw' AND utenti.codP='amm'") or die(mysql_error());                           

    if (
    mysql_num_rows($querylogin) == 1)
    {
        
    $_SESSION['nomeU'] = $nomeU;
            
    ?>
            <META HTTP-EQUIV=Refresh CONTENT="1; URL=amministrazione.html">
            Login effettuato con successo..
            <?php
    }
    else
    {
        
    $_SESSION['nomeU'] = 0;
        
    ?>
        <META HTTP-EQUIV=Refresh CONTENT="1; URL=login.html">
        Utente non presente nel database..

        wait
        <?php
    }
    mysql_close($conn);
    ?>
    Codice PHP:
    <?php
    //Logout.php        

            
    session_start();
        
    session_unset();
        
    session_destroy(); 
        
    header("location:index.html");
            
    ?>

  2. #2
    Nella pagina che vuoi sia "visibile" solo ai loggati metti così:

    Codice PHP:
    <?

    session_start
    ();
    if(!isset(
    $_SESSION['nome_sessione'])) {
    header ('Location: login.php');
    } else {
    echo 
    'Benvenuto, '.$_SESSION['nome_sessione'];
    }

    ?>
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  3. #3
    Quindi questo codice lo inserisco in ogni pagina relativa alle pagine che possono vedere solo gli utenti loggati? In questo modo tutte le pagine mi diventano php..
    Giusto?

  4. #4
    esatto (...più o meno...)
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Originariamente inviato da CrostaTina
    Quindi questo codice lo inserisco in ogni pagina relativa alle pagine che possono vedere solo gli utenti loggati? In questo modo tutte le pagine mi diventano php..
    Giusto?
    Sì, cioè l' estensione .php la devi dare tu. Ovviamente al posto di "nome_sessione" metterai il nome della sessione che crei al momento del login e che 'distruggerai' al momento del logout
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  6. #6
    Scusa il continuo disturbo eh..
    però io ho applicato questo codice ad una pagina per prova.
    Quando la clicco mi rimanda direttamente al login.
    Che vuol dire?

  7. #7
    Ah scusate il penultimo commento non l'avevo visto!
    Mm come faccio a sapere come si chiama la sessione?!

    Cioè,quando la creo faccio:
    Codice PHP:
    $_SESSION['nomeU'] = $nomeU
    Per il resto di solito facevo solamente il session start() e basta ogni qual volta aprivo un'altra pagina..


  8. #8
    Originariamente inviato da CrostaTina
    Ah scusate il penultimo commento non l'avevo visto!
    Mm come faccio a sapere come si chiama la sessione?!

    Cioè,quando la creo faccio:
    Codice PHP:
    $_SESSION['nomeU'] = $nomeU
    Per il resto di solito facevo solamente il session start() e basta ogni qual volta aprivo un'altra pagina..

    Se si crea quella sessione ( nomeU ) al login è quello il nome della sessione, quindi diventa:

    Codice PHP:
     <?

    session_start
    ();
    if(!isset(
    $_SESSION['nomeU'])) {
    header ('Location: login.php');
    } else {
    echo 
    'Benvenuto, '.$_SESSION['nomeU'];
    }

    ?>
    Ovviamente se non hai fatto il login ti rimanderà a quella pagina (del login)
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  9. #9
    Perfetto!
    Funziona grazie!!

    Un'ultima cosa: dato che forse la dovrei poi spiegare..
    cosa fa quella funzione qua: isset().

  10. #10
    elimina anche il rigo
    $_SESSION['nomeU'] = 0;
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.