Hi.
Hab das Tut von MrHappiness gelesen und das als Standalone funktioniert auch ohne Probleme.
Jetzt wollte ich das in meine Seite einbauen, wo es leider nicht so recht funktionieren will.
Die Login Tabelle befindet sich jetzt in der Header.php, da dort das linke Menü mit eingebunden ist.
Von dort wird auf die login.php zugegriffen.
Die sessionhelpers.inc.php heißt bei mir functions.php und liegt im Admin Ordner.
Wenn ich mich jetzt einloggen will kommt immer: Ihre Anmeldedaten waren nicht korrekt!
Aber alle Daten sind korrekt.
Hier mal der Code:
Header.php
login.php
functions.php
Und mal so nebenbei...in den Dateien, wo ich die Header Datei include muß da auch ein session_start(); hin? Ich meine das ist ja eh schon in der header.php drin.
Schonmal Danke im Vorraus.
Mfg
jack2003
Hab das Tut von MrHappiness gelesen und das als Standalone funktioniert auch ohne Probleme.
Jetzt wollte ich das in meine Seite einbauen, wo es leider nicht so recht funktionieren will.
Die Login Tabelle befindet sich jetzt in der Header.php, da dort das linke Menü mit eingebunden ist.
Von dort wird auf die login.php zugegriffen.
Die sessionhelpers.inc.php heißt bei mir functions.php und liegt im Admin Ordner.
Wenn ich mich jetzt einloggen will kommt immer: Ihre Anmeldedaten waren nicht korrekt!
Aber alle Daten sind korrekt.
Hier mal der Code:
Header.php
PHP-Code:
<?
session_start();
include("admin/functions.php");
...
if (!logged_in())
echo '
<div id="logindiv" style="border-bottom: 1px solid #036;">
<form method="post" action="login.php">
<h6>Member Login</h6>
<a name="loginbox" id="loginbox"></a>
<input type="text" size="15" name="username"/>
<input type="password" size="15" name="userpass"/>
<p>
<input name="remember" type="checkbox" id="remember" value="1"
style="border:0px none ;" />Eingeloggt bleiben
</p>
<input name="login" type="submit" id="login" value="Login" />
<p>
<a href="index.php">Passwort vergessen</a>
<a href="registrieren.php">Registrieren</a>
</p>
</form>
</div>';
else
echo'
<div id="logindiv" style="border-bottom: 1px solid #036;">
<h4>User Menü</h4>
<ul style="padding-bottom: 0;">
<li>
<a href="logout.php">Logout</a>
</li>
</ul>
</div>
';
PHP-Code:
<?
session_start();
include("admin/functions.php");
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false)
{
login($userid);
echo 'Password-DB <B>',$userid,'!';
}
else
{
echo 'Status ',$_POST['username'],'<br />';
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
}
?>
PHP-Code:
<?
function connect()
{
$con= mysql_connect('localhost','root','') or die(mysql_error());
mysql_select_db('login',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT UserId
FROM users
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 users
SET UserSession='".session_id()."'
WHERE UserId=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT UserId
FROM users
WHERE UserSession='".session_id()."'
LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE users
SET UserSession=NULL
WHERE UserSession='".session_id()."'";
mysql_query($sql);
}
connect();
?>
Und mal so nebenbei...in den Dateien, wo ich die Header Datei include muß da auch ein session_start(); hin? Ich meine das ist ja eh schon in der header.php drin.
Schonmal Danke im Vorraus.
Mfg
jack2003
Kommentar