Recuperare file da un database

Francesc4052

Nuovo Utente
15 Ott 2013
14
0
1
Salve a tutti..da qualche giorno ho un bel problema con il PHP da cui non riesco a venire a capo..ho cercato dappertutto ma non sono riuscito a trovare quelle che mi interessava..quindi ho deciso di chiederlo sul forum!
Sostanzialmente ho una tabella in mySQL chiamata 'utenti' al cui interno ci sono diverse celle, ad esempio prendiamo 'username' 'email' e 'password'..ovviamente inseriti tramite una registrazione.
Come faccio a far si che dopo il login, in una pagina profilo utenti vengano visualizzati i dati delle celle relativi dell'utente loggato?
Ho provato più volte ma il miglior risultato è stato di visualizzare tutti i dati di tutti gli utenti!

Se non avete capito il problema posso provare a rispiegarmi e anche a mandare i codici delle pagine..
Grazie in anticipo! :)
 
Ciao, presumo che in sessione tu abbia messo l'id dell'utente loggato
fai una query con quell'id
PHP:
$query = "SELECT * FROM utenti WHERE idUtente = " . $_SESSION['idUtenet'];
 
Mh no..io recupero i dati verificando se il nome e la password esistono, non vado a cercare l'id per poi verificare di conseguenza!
Infatti è lì che mi blocco...ho bisogno di un codice più specifico..secondo se scrivO:
PHP:
$recuperadati = mysql_query("SELECT * FROM utenti WHERE username = '$username' AND password = '$password_cript'");
$recuperadati2= mysql_fetch_assoc($recuperadati);
$id = $recuperadati2['id'];
						
$verificadati = mysql_num_rows($recuperadati);
poi con un if verifico che esista l'utente e poi lo reindirizzo ad una pagina privata.

Cosa dovrei inserire nella pagina profilo utente, anch'essa privata?
 
ti conviene mettere l'id utente in sessione, è semplice
quando si logga aggiungi
PHP:
$_SESSION['idUtente'] = $row['id'];
cosi lo avrai in tutte le pagine
ricordati che quando usi le sessioni la prima istruzione della pagina dev'essere
PHP:
session_start();
 
Ok, l'ho messo prima di verificare i dati...non riesco a richiamarlo..così mi visualizza solo una S:
PHP:
$query = mysql_real_escape_string("SELECT * FROM utenti WHERE id = " . $_SESSION['id']);  
	$username = $query['username'];
	
	
	echo "Ciao $username";

?
 
Manca la connessione al db l'esecuzione della query e l'estrazione del dato
PHP:
// includi la connessine
$query = "SELECT * FROM utenti WHERE id = " . $_SESSION['id'];
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$username = $row['username'];
echo "Ciao $username";
 
Continua a non funzionare :/
Questo è il codice del login:
PHP:
<?phpif(isset($_SESSION['utente'])){
					
						echo "<div style='position:absolute; top:162px; left:972px;'><img src='image/user.png' width='24px' height='24px'/></div><div style='position:absolute; top:160px; left:1000px;'> Hi <strong><span class='utente' style='text-transform: capitalize'>".$_SESSION['utente']."!</span></strong><strong style='font-size:80%;'><center><a href='profile.php' target='contents'>Profile</a></strong> <strong style='font-size:80%;'>||</strong> <strong style='font-size:80%;'><a href='logout.php' class='logout'>Logout</a></center></strong></div>";
					
					} elseif(!isset($_POST['invia'])) {  ?>
					
					<form method="post" action="#" id="formlogin">
					<div style="position:absolute; top: 182px; left:640px;">
						<label for="username"><b>User Name:</b> </label>
						<input id="name" name="username" type="text" size="14" maxlength="200" />&nbsp;&nbsp;
	                    <label for="password"><b>Password:</b> </label>
						<input id="password" type="password" maxlength="200" size="14" name="password" /></div>
						<div style="position:absolute; top: 182px; left:1100px;">
						<input type="submit" name="invia" id="button" value="LOGIN" /></div>
					
					</form>
					
    		<?php	} else {

					$username = mysql_real_escape_string($_POST['username']);
					$password = mysql_real_escape_string($_POST['password']);
					
					
					
					if($username == "" || $password == ""){
					
						echo "<div style='position:absolute; top: 192px; left:660px;'><strong>Attention, you must fill all fields! <a href='index.php'>Try again!</a></strong></div>";
					
					} else {
					
						$password_cript = md5($password);
						
						$recuperadati = mysql_query("SELECT * FROM utenti WHERE username = '$username' AND password = '$password_cript'");
						$_SESSION['id'] = $row['id'];  
						
						$verificadati = mysql_num_rows($recuperadati);
						
						if($verificadati == 1){
						    
							session_register('autorizzato');
                            $_SESSION["autorizzato"] = 1;
                            $destinazione = "home.php";
							$sessione = mysql_fetch_array($recuperadati);
							$_SESSION['utente'] = $sessione['username'];
							echo "<div style='position:absolute; top: 192px; left:660px;'><strong>Successful Login!</strong></div>";
							header("Refresh: 2; URL=home.php");
						
						} else {
						
							echo "<div style='position:absolute; top: 192px; left:660px;'><strong>These data aren't in the database yet! <a href='index.php'>Try again!</a></strong></div>";
						
						}
					
					}
				
				}?>
 

Discussioni simili