28 ospiti e 0 utenti registrati online.
UserName
  Password  Registrati Ora! E' Gratuito!
 
 MMKit Forums » » Php » » Recuperare informazioni dal db relative all'utente connesso e metterle in sessione
(Moderato da: dyablo, m77, Zubin)  
AutoreTopic: Recuperare informazioni dal db relative all'utente connesso e metterle in sessione
falco72 Uomo
Membro


Con noi da: 17-05-2006
Posts: 150
Da:

 Inviato il: 22-01-2008 18:08   
Salve,

sto cercando di recuperare, oltre la user che funziona, i dati relativi a un utente connesso (e-mail, indirizzo, ecc.) e metterle in sessione (spero sia il procedimento corretto per recuperare le info di un utente e metterle in una pagina "informazioni utente") ma non so perchè mi recupera solo la user


Code:



<?php
//Avvio o continuo la sessione
session_start();

//Controllo che la sessione sia attiva
if(!IsSet($_SESSION['logged'])){
    
//Controllo se l' utente vuole loggarsi
    //Recupero i valori da una Form
    
$user_name = @$_POST['user_name'];
    
$user_pass = @$_POST['user_pass'];
    
    
//Controllo se la user_name e la user_pass sono vuoti
    
if((!strlen($user_name) != 0) and (!strlen($user_pass) != 0) and $_POST['login']=="ok"){
      
$errori[0] = "La <b>Username</b> e la <b>Password</b> sono obbligatori";
      return
$errori;
    }

    
//Controllo se l' user_name e la user_pass non sono vuoti
    
if((!strlen($user_name) == 0) and (!strlen($user_pass) == 0)){
        
//Effettuo il controllo dei dati
        
$strSQL = "SELECT * FROM tbl_users WHERE user_name = '".$user_name."'";
        
$strSQL .= " AND user_pass = MD5('".$user_pass."')";
        
$result = mysql_query($strSQL);
        
$row = mysql_fetch_row($result);
        
//Controllo se l' utente e' stato trovato
        
if(!strlen($row[0]) == 0){
            
/*Effettuo il Login:
            * Array di sessione
            * Contenente UserID e LastAccess
            */
            
$myArray = array($row[0], $row[7]);
            
/*Controllo che l' utente non sia già attivo
            * Verifico che siano trascorsi almeno 5 minuti
            * dall' ultima connessione
            */
            
if(fDateDiff($myArray[1], time(), 'm') <= 1){
                
$login_err = "<div id=\"margine-error-01\"><b>Attenzione</b>, la sesssione per questo utente &egrave; ";
                
$login_err .= "gi&agrave; attiva sul sito.<br />";
                
$login_err .= "Attendi <b>1</b> minuto per ripetere il Login.";
                
$login_err .= " Grazie</div>";
            }else{
                
//Effettuo il Login
                
$_SESSION['logged'] = $myArray;
                
$_SESSION['user_name'] = $user_name;
                 }
        }

        
// Controllo che l'utente inserisca dati corretti e coincidenti
        
if((!strlen($user_name) == 0) and (!strlen($user_pass) == 0)){
        
//Effettuo il controllo dei dati
        
$strSQL = "SELECT * FROM tbl_users WHERE user_name = '".$user_name."'";
        
$strSQL .= " AND user_pass = MD5('".$user_pass."')";
        
$result = mysql_query($strSQL);
        
$row = mysql_fetch_row($result);
        
//Controllo se l' utente e' stato trovato
            
if(!strlen($row[0]) != 0){
                
$errori[1] = "<b>Attenzione</b> i dati inseriti non sono validi!";
            return
$errori;
            }
        }

        
//Recupero i dati utente e li metto in sessione
        
$strSQL = "SELECT * FROM tbl_users";
        
$result = mysql_query($strSQL);
        
$row = mysql_fetch_row($result);
            
$_SESSION['user_email'] = $row['user_email'];
    
        
//Libero la memoria
        
mysql_free_result($result);
    }
}else{
    
//Controllo se aggiornare l' ultima data di accesso
    
if(fDateDiff($_SESSION['logged'][1], time(), 'm') > 1){
        
$strSQL = "UPDATE tbl_users SET user_lastaccess = ".time();
        
$strSQL .= " WHERE user_id = ".$_SESSION['logged'][0];
        
//Aggiorno la sessione
        
$_SESSION['logged'][1] = time();
        
mysql_query($strSQL);
    }
}

if(@
$_GET['logout'] == bye){ //Effettuo il Logout
    
$_SESSION = array(); //Desetto tutte le variabili di sessione
    
session_destroy(); //Distruggo le sessioni
    
header('Location: index.php');
}
?>



[ Questo messaggio è stato modificato da: falco72 - 22-01-2008 18:20 ]



Clicca qui per vedere il profilo di falco72 Invia un messaggio privato a falco72 Aggiungi falco72 alla tua buddy list Clicca qui per inviare una mail a falco72 Clicca qui per rispondere 'citando' questo post
falco72 Uomo
Membro


Con noi da: 17-05-2006
Posts: 150
Da:

 Inviato il: 22-01-2008 18:55   
ho fatto cosi funziona... spero che come sintassi e logica sia correta

posto la parte relativa al recupero dai dati


Code:


//Recupero i dati utente e li metto in sessione
        
$query = "SELECT * FROM tbl_users WHERE user_name = '".$user_name."'";
        
$result = mysql_query($query);
        
$row = mysql_fetch_array($result);
            
$_SESSION['user_id'] = $row['user_id'];
            
$_SESSION['user_email'] = $row['user_email'];






Clicca qui per vedere il profilo di falco72 Invia un messaggio privato a falco72 Aggiungi falco72 alla tua buddy list Clicca qui per inviare una mail a falco72 Clicca qui per rispondere 'citando' questo post
Sergionza Uomo
Alchimista


Con noi da: 09-09-2005
Posts: 3173
Da: Genova

 Inviato il: 23-01-2008 03:46   
E' esattamente quello che va fatto.. :)

Ciao!



-----------------
Il portale ufficiale dell'oratorio "Fra le Case"
le mie foto su Flickr!



Clicca qui per vedere il profilo di Sergionza Invia un messaggio privato a Sergionza Aggiungi Sergionza alla tua buddy list Clicca qui per inviare una mail a Sergionza Homepage: http://www.flickr.com/photos/Sergionza.it Clicca qui per rispondere 'citando' questo post
  
  
Vai a:
Visualizza la versione da stampa
Segnala questo thread al moderatore
Aggiungi questo thread alla tua lista preferiti [Visualizza]
Non voglio più ricevere nessuna mail riguardo questo thread


FAQ | Top 10 | Statistiche
MMKit - Macromedia Community Shared Knowledge
Tutti i loghi sono appartenenti ai rispettivi proprietari