Hallo!
Ich habe gerade testweise ein Script mit der Datenbankklasse umgeschrieben. Soweit funktioniert auch alles sehr gut, bis auf die Login überprüfung.
Die Tabelle dazu ist wie folgt aufgebaut:
id INT (10) A_I PRIMARY KEY
username VARCHAR(255)
password VARCHAR(255)
active TINYINT(1)
Zusätzlich sind noch weitere Informationen enthalten, die jedoch für den Login nicht Relevant sind. Das Passwort liegt md5 verschlüsselt in der Datenbank. active enthält 1 oder 0 und gibt an, ob der benutzer Aktiv ist und somit zugreifen darf...
Übergeben wird es aus einem Formular:
<?php
if (isset($_SESSION['login'])) {
header('Location: index.php');
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Support - Login</title>
</head>
<body>
<form method="POST" action="loginauth.php">
Ihr Username: <input type="text" name="username"/>
Ihr Passwört: <input name="password" type="password"/>
<input type="submit" name="submit" value="Einloggen"/>
</form>
</body>
</html>
Alles anzeigen
Zum Verarbeiten hatte ich gedacht das ganze abzufragen und zu vergleichen:
if (!empty($_POST["submit"]))
{
//In der DBCON ist nur die DB::INIT SOWIE VERLINKUNG ZUR CONFIG UND DATABASE CLASS
require_once('dbcon.php');
$_username = $_POST["username"];
$_password = md5($_POST["password"]);
$loginquery = DB::select('users', 'id, password, active', 'username =' .$_POST["username"] );
if ($_password == $loginquery["password"]) {
$_SESSION = array(
'login' => true,
'userid' => $loginquery['id'],
'user' => array(
'username' => $loginquery['username']
)
);
header('Location: index.php');
} else {
echo "Fehler";
}
} else {
echo "No Sumit Data";
}
Alles anzeigen
Wie würde man das jetzt richtig lösen? Mit fällt da gerade einfach nicht ein, wie ich das Programmieren kann...
MfG. VBDEV