Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    163

    Login - controllo esistenza sessione

    Ciao! continuando il lavoro con la pagina di login sorgono nuovi problemi!tipo:
    vorrei che SE l'utente NON è loggato visualizzi il form per il login, altrimenti veda un semplice pulsante con cui effettuare il logout.

    Per chi non avesse voglia di leggere il codice completo,lo riassumo qui
    Codice PHP:
    <?php
    session_start
    ();
    if (!isset(
    $_SESSION['nome'] ) and ($_SESSION['pass'] ) )
    {
    //mostra il form per il login
    //se il login ha successo,viene aperta la sessione e vengono create le 2 variabili $_SESSION
    }
    else
    {
    //mostra pulsante di Logout,che quando premuto distrugge le variabili d sessione e la sessione stessa.
        
    echo "Benvenuto ".$_SESSION['nome']."!!";
        echo
    '<form action="login.php" method="post">
        <input type="submit" name="logout" value="Logout">'
    ;
        if(isset(
    $_POST['logout']))
        {
        
    header('location:index.php');
        
    session_unset();
        
    session_destroy();
        echo 
    "Logout effettuato!";
        }
    Se non mi sbaglio io il punto della questione è palese.come fa lo script a controllare l'esistenza di una variabile se la stessa viene creata all'interno del costrutto??
    Anche se in italiano,la logica dovrebbe esserci,cioè -> SE non esiste $_SESSION lo creo, ALTRIMENTI faccio altro.

    spero d essermi spiegato.help please!
    grazie!

  2. #2
    Innanzitutto la sessione la crei SOLO se i dati sono corretti, quindi hai bisogno di una pagina che li controlli, altrimenti saluti alla sicurezza (ma questo era ovvio).
    Se il tuo obiettivo è quello di tenere tutto il codice in una pagina è un conto, altrimenti rimanda il form a una pagina che controlla i dati e se sono giusti crea la sessione e con un header ti rimandi alla homepage o alla pagina che vuoi.
    Poi fai un controllo della sessione come hai fatto. Consiglio mio è farti una sessione che sia, per esempio "accesso" e il valore è "ok", così controlli solo quella.
    Allora ti fai
    Codice PHP:
    if(!isset($_SESSION['accesso']) && $_SESSION['accesso'] != "ok"){
    //form di login
    }else{
    echo 
    "Ciao ".$nomeutente."!";

    Semplificata al massimo.
    Passare nome e password per le pagine, per quanto il metodo sia abbastanza sicuro con le sessioni, è altamente sconsigliabile.
    Ti conviene qualcosa di anonimo.
    Casomai crea una sessione ulteriore con l'id e tramite quello recuperi i dati dell'utente con query.
    Ce l'ho fatta! - ItalianPixel -

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.