moinsen,
ich kann mich mit dem script nicht anmelden.
immer wenn ich einen username + das gültige passwort angebe, sagt er, das ich halt die falschen daten habe bzw. das sie nicht vorhanden sind.
meine mysql tabelle:
UserID int(11) primary key | NULL | auto_increment
UserName varchar(30)
UserPass varchar(32)
UserSession varchar(32) NULL
UserMail varchar(150)
ok habe die UNIQUE KEY´s rausgemacht, weil ich mir ein script in php dazu gebastelt habe.
formular.php:
sessionhelpers.inc.php:
login.php(halt zum überprüfen ob es den usernamen gibt):
sieht irgendwer den fehler oder kann mir sagen, wie ich ne fehlermeldung ausgeben kann dafür?
MfG Groove
ich kann mich mit dem script nicht anmelden.
immer wenn ich einen username + das gültige passwort angebe, sagt er, das ich halt die falschen daten habe bzw. das sie nicht vorhanden sind.
meine mysql tabelle:
UserID int(11) primary key | NULL | auto_increment
UserName varchar(30)
UserPass varchar(32)
UserSession varchar(32) NULL
UserMail varchar(150)
ok habe die UNIQUE KEY´s rausgemacht, weil ich mir ein script in php dazu gebastelt habe.
formular.php:
PHP Code:
if (!logged_in())
{
echo '<form method="post" action="login/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 "Hallo ";
echo "<br>";
echo '<a href="login/logout.php">Ausloggen</a>';
}
sessionhelpers.inc.php:
PHP Code:
<?
function connect()
{
$con=mysql_connect('localhost','user','pass') or die(mysql_error());
mysql_select_db('datenbank',$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();
?>
login.php(halt zum überprüfen ob es den usernamen gibt):
PHP Code:
<?
session_start();
include 'sessionhelpers.inc.php';
if (isset($_POST['login']))
{
$userid=check_user($_POST['username'], $_POST['userpass']);
}
if ($userid!=false)
{
login($userid);
echo '<a href="$site">Du hast dich erfolgreich eingeloggt und wirst sofort weitergeleitet...</a>';
}
else
{
echo '<a href="$site">Ihre Anmeldedaten waren nicht korrekt! Zurück zur Anmeldung</a>';
}
?>
MfG Groove
Comment