Vid min inloggning har jag skapat en session "user_id" enligt nedanstående:
-------main.php----------
// Någon vill logga in
if (isset($_POST['login'])) {
//Letar efter angivet lösenord/användarnamn i databasen
$query = mysql_query("SELECT * FROM users WHERE username='{$_POST['username']}' AND password='{$_POST['password']}'");
if (mysql_num_rows($query) == 1)
{
$row = mysql_fetch_array($query) or die(mysql_error());
// Rätt användare och lösenord, logga in
$_SESSION['login'] = "true";
$_SESSION['user_id'] = $row['id'];
} else {
// Felaktigt inloggning
echo '\<b\>\<p\>Felaktig inloggningsinformation!!\<br\>var god försök igen.\</b\>';
}
}
På en annan sida ska den hämta data om användaren efter vilken person som är inloggad. Har skrivit så här:
-------varsida.php----------
$sqlUser = "SELECT * FROM users WHERE username = '$user_id'";
$result=mysql_query("$sqlUser");
Eftersom jag inte alls är haj på detta fattar jag inte vad som är fel. Får inget felmeddelande. Antar att när min session sätts så får den inget värde. Därför hittar den ingen data och inget skrivs ut, eller?
Loopen är onödig, eftersom att du bara hämtar data från en rad.
Som du märker har jag också plockat bort stjärnan ( * ) från dina SQL-frågor. Den behövs inte då du bara använder ett par fält, bättre att ange vilka fält man ska arbeta med.