Hi,
ich habe mir mit hilfe einer online-anleitung einen Loginbereich mit MySQL erstellt. Der login erfolgt mit einer login.php:
Code:
<?
session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
login($userid);
else
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
if (!logged_in())
echo '<form method="post" action="login.php">
<label>Benutzername:</label><input name="username" type="text"><br>
<label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
<input name="login" type="submit" id="login" value="Einloggen">
</form>';
else
echo '<a href="logout.php">Ausloggen</a>';
echo '<p /><a href="logged_in.php">Check</a>';
?>
Die dazugehörige sessionhelpers.inc.php sieht wie folgt aus:
Code:
<?
error_reporting(E_ALL);
function connect()
{
$con= mysql_connect('localhost','gergaming_neu','geheim') or die(mysql_error());
mysql_select_db('gergaming_neu',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT UserId
FROM member
WHERE UserName='".$name."' AND UserPass=MD5('".$pass."')
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['UserId'];
}
else
return false;
}
function login($userid)
{
$sql="UPDATE member
SET UserSession='".session_id()."'
WHERE UserID=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT UserId
FROM member
WHERE UserSession='".session_id()."'
LIMIT 1";
$result= mysql_query($sql) or die(mysql_error()) ;
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE member
SET UserSession=NULL
WHERE UserSession='".session_id()."'";
mysql_query($sql);
}
connect();
?>
Login, logout und so funktioniert auch alles.
Jetzt würde ich gern noch den Namen des angemeldeten Benutzers anzeigen lassen.
Also das da z.B. steht "Hallo Sven" wenn sich Sven gerade angemeldet hat. Wenn man nicht angemeltet ist, soll da stehen "Hallo Gast".
Wie mach ich sowas?