Hallo,
ich habe folgendes Problem mit dem Login-Script.
Wenn ich die richtigen Anmeldedaten eingebe, bekomme ich dennoch die Meldung 'Ihre Anmeldedaten waren nicht korrekt'.
Name und Passwort sind als U_Name und Passwort in einer Tabelle abgespeichert.
Hier die login.php
und hier die sessionhelpers:
Danke schonmal im Voraus
ich habe folgendes Problem mit dem Login-Script.
Wenn ich die richtigen Anmeldedaten eingebe, bekomme ich dennoch die Meldung 'Ihre Anmeldedaten waren nicht korrekt'.
Name und Passwort sind als U_Name und Passwort in einer Tabelle abgespeichert.
Hier die login.php
PHP-Code:
<?
error_reporting(E_ALL);
session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['name'], $_POST['pass']);
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="name" type="text"><br>
<label>Passwort: </label><input name="pass" type="password" id="pass"><br>
<input name="login" type="submit" id="login" value="weiter">
</form>';
else
echo '<a href="logout.php">Ausloggen</a>';
echo '<p /><a href="logged_in.php">Check</a>';
?>
PHP-Code:
<?
error_reporting(E_ALL);
function connect()
{
$con= mysql_connect('meinserver','nutzer','passwort') or die(mysql_error());
mysql_select_db('tabelle',$con) or die(mysql_error());
}
function check_user($name, $pass)
{
$sql="SELECT ID
FROM users
WHERE U_Name='".$name."' AND Passwort=MD5('".$pass."')
LIMIT 5";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['ID'];
}
else
return false;
}
function login($userid)
{
$sql="UPDATE users
SET UserSession='".session_id()."'
WHERE ID=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT ID
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();
?>
Kommentar