Visualizzazione risultati 1 fino 3 di 3

Discussione: come prendere variabile da session registred

  1. #1
    randomize non è connesso Neofita
    Data registrazione
    31-03-2015
    Messaggi
    19

    Predefinito come prendere variabile da session registred

    salve a tutti, sono nuovo e non molto pratico di PHP...vorrei sapere se dopo una registrazione, in una pagina con questo codice:
    Codice PHP:
    <?php 

    session_start
    (); 
    if(!
    session_is_registered(myusername)){ 
    header("location:main_login.php"); 
    }  

    ?>
    ,preso da una discussione su questo forum, è possibile ottenere una variabile $myusername o ancora meglio l'id della riga del database dove è salvato.
    grazie a tutti...

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    17,754

    Predefinito

    La session_is_registredred() è deprecata.
    Per vedere se esiste, potresti far così:
    Codice PHP:
    if(!isset($_SESSION['username'])) 
    Citazione Originalmente inviato da randomize Visualizza messaggio
    è possibile ottenere una variabile $myusername
    Codice PHP:
    $username $_SESSION['username']; 
    Citazione Originalmente inviato da randomize Visualizza messaggio
    o ancora meglio l'id della riga del database dove è salvato.
    Devi interrogare il database con una query SELECT specificando l'username:
    Codice:
    SELECT id FROM tuatabella WHERE username='$username'
    Ciao!
    Ultima modifica di alemoppo : 04-06-2015 alle ore 00.15.36

  3. #3
    Guest

    Predefinito

    Si, non usandole ho letto nel manuale e farei attenzione ad usare session_register e is_registered perchè sono funzioni deprecate, se si usa $_session non si deve usare session_register e is_regestered.
    Usare $_session e mettere in un array le nostre variabili che vogliamo usare nella sessione facendo partire con session_start.Ciau

    Ps:esempio di convalida di login e di partenza di sessione e di come si recuperano l'id, lo user, il profilo e la pass presenti nella tabella utenti nel db sql.

    Codice PHP:
                  session_start();

    $username=$_GET['username'];
    $password=$_GET['password'];

                
    $sql $db->prepare("SELECT * FROM utenti WHERE username = ? AND password = ?"); //l'utente inserisce username e password e controlliamo che sia un utente registrato cioè presente nella tabella utenti

                
    $sql -> bind_param('ss'$username$password);
                
                    
    $username trim($username);
                    
    $password md5($password);
                
                
    $sql->execute();
                
    $sql->store_result();

                if (
    $sql->num_rows() == '1'){
                    
                    
    $sql -> bind_result($id,$username$profilo$password);//bind dei risultati, sono tutti i campi presenti nella tabella utenti
                                        
                    
    if ($sql->fetch()){

                        
    //------------------------VALORI DELL'UTENZA-----------
                            
    $user_browser $_SERVER['HTTP_USER_AGENT'];
                            
    $idUtente=$id;
                            
    $profilo=$profilo;          
                            
    $username $username;
                            
    $datiUtente = array('idUtente'=>$idUtente,
                                              
    'username'=>$username
                                              
    'profilo'=>$profilo);
                                                
                            
    $_SESSION['datiUtente']=$datiUtente
                            
                             
    $msg "|";    
                             
    $msg .="OK";
                                      
    $msg str_replace("\n""",  $msg);
                                   
    $msg str_replace("\r""",  $msg);                         
                            print 
    $msg;
                            exit; 
                    }    
                } 
    In tutti i file dove voglio recuperare la sessione dell'utenza e controllare il profilo, l'id o lo user una volta effettuato il login ed avendo messo i valori dentro l'array datiutente mi basterà scrivere in una pagina php ad inizio file:

    Codice PHP:
    session_start();
                        
    $datiUtente $_SESSION['datiUtente'];
                        
    $profilo $datiUtente['profilo'];
                                        
    $username $datiUtente['username'];
                                        
    $id=$datiutente['idUtente']

                    print 
    "benvenuto " .$username ." il tuo profilo è : " .$profilo " ed il tuo id è : " .$id
    NB: USERNAME E PASSWORD vengono ripresi in GET o POST dal form di login ma $id e $profilo sono nel bind vengono creati lì...non sono inizializzati sono l'id e il profilo della riga corrispondente ad username e password.
    Ultima modifica di fractalcosmo : 04-06-2015 alle ore 00.09.33

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •