• User

    Notice: Undefined [...]

    scusate... forse avete già risposto a questo post... ma ho un problemino con le sessioni (supero il problema dei frame, poi quello del login mi pareva strano che mi andasse bene con le sessioni xD) sto creando un sito dove, in una pagina iniziale ti chiede di loggarti, una volta fatto,funziona e tutto, apro un pop-up cerco di utilizzare $_SESSION['user'] e $_SESSION['pass'] (inizializzate nella pagina di login) e mi danno questa notice: **
    Notice**: Undefined index: user in c:\programmi\easyphp1-8\www\lumamo\in\menu.php on line 6

    Notice: Undefined index: pass in c:\programmi\easyphp1-8\www\lumamo\in\menu.php on line **7

    **ora non capisco se è un problema di logica o di passagio delle variabili... ma nn dovrebbero esser globali le $_SESSION? le linee dove riscontro il problema sono le seguenti:

    <?    include '../connessione.php';
    
        session_start(); //si inizia o continua la sessione
    
        //dati per il login 
        $login_user=$_SESSION['user']; 
        $pass_user=$_SESSION['pass']; //passwd 
        $redirect="http://127.0.0.1/lumamo/index.php"; //indirizzo assoluto della pagina di login
    

    e poi tutte le varie richieste successivamente...

    Vi ringrazio per la pazienza e per l'aiuto anticipatamente!

    Luca


  • User Attivo

    Sembrerebbe che non le hai settate la prima volta, prima di arrivare a questa pagina sei passato da una pagina che faceva:

    $_SESSION['user'] = ... qualcosa ...;

    ???


  • User

    certo:

    
    /*### elab_log.php ### elabora il login ###*/
    <?    include './connessione.php';
    
        $PHPSESSID=session_id();
    
        //dati per il login 
        $login_user=$_POST['username']; 
        $pass_user=$_POST['password']; //passwd 
        $redirect="http://127.0.0.1/lumamo/index.php"; //indirizzo assoluto della paggina di login
        /*
        //gestione della sessione nel caso in cui i cookie sono disabilitati
        if(IsSet($_POST['PHPSESSID']) && !IsSet($_COOKIE['PHPSESSID']))
        {    $PHPSESSID=$_POST['PHPSESSID'];
            header("Location: $redirect?PHPSESSID=$PHPSESSID"); //si ricarica la pagina di login
        }*/
    
        session_name('login');
        session_start(); //si inizia o continua la sessione
        
        //controllo user e passwd da login
        if(IsSet($_POST['username']) && IsSet($_POST['password']))
        {    $lettura=mysql_query("select * from utenti");
            if(mysql_num_rows($lettura)>0)
            {    while($scatola=mysql_fetch_array($lettura))
                {    $nome=$scatola['nome_pg'];
                    $pass=$scatola['password_pg'];
                    if(($login_user==$nome) && ($pass_user==$pass))
                    {    $_SESSION['user']=$_POST['username'];
                        $_SESSION['pass']=$_POST['password'];
                        
                        header("Location: in/frame.php");
                    }
                    else
                        echo "Nome utente o Password scorretta";
                }
            }
        }
        
        //logout
        if(@$_GET['logout'] == 1)
        {    $_SESSION=array(); // Desetta tutte le variabili di sessione.
            session_destroy(); //DISTRUGGE la sessione.
            if(IsSet($_COOKIE['sav_user'])) //se presente si distrugge il cookie di login automatico 
            setcookie("sav_user",$cok,time()-31536000); 
            header("Location: $redirect"); //si ricarica la pagina di login 
            exit; //si termina lo script in modo da ritornare alla schermata di login
        }
    ?> 
    

  • User Attivo

    Però qui c'è un session_name('login'); che nell'altro non c'è...


  • User

    @Senamion said:

    Però qui c'è un session_name('login'); che nell'altro non c'è...

    da quel che sapevo io bastava il session_start() per riaprire la stessa sessione... però ho provato a metter il "session_name('login');" prima dello start e me la apre senza nessun problema ^^ grazie mille!!!!! ora passiamo all'altro problema ^^ se nn lo risolverò da solo mi risentirete xD


  • User Attivo

    In pratica se metti session_name decidi il nome del cookie, invece di quello standard. Quindi se da una parte lo usi dall'altra no non viene intercettato. Quindi o lo usi in entrambi o in nessuno dei due...

    Se posso darti un consiglio nella variabile di sessione ti conviene mettere un flag loggato SI/NO invece che la password...