MMKit Forums » » Php » » Recuperare informazioni dal db relative all'utente connesso e metterle in sessione |
|
|
| Autore | Topic: Recuperare informazioni dal db relative all'utente connesso e metterle in sessione |
|---|
falco72
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 è ";
$login_err .= "già 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 ]
|
falco72
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'];
|
|
Sergionza
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!
|
 | |
|
|
- 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
|