<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$db = @new mysqli('***', '***', '***', '***');
readfile('header.html');
$ret = array();
$ret['filename'] = 'login2.html';
$ret['data'] = array();
if ('POST' == $_SERVER['REQUEST_METHOD']) {
if (!isset($_POST['Username'], $_POST['Password'], $_POST['submit'])) {
return INVALID_FORM;
}
if (('' == $Username = trim($_POST['Username'])) OR
('' == $Password = trim($_POST['Password']))) {
return EMPTY_FORM;
}
$stmt->close();
$sql = 'SELECT
ID
FROM
User
WHERE
Username = ?';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$stmt->bind_param('s', $Username);
if (!$stmt->execute()) {
return $stmt->error;
}
$stmt->bind_result($UserID);
if (!$stmt->fetch()) {
return 'Es wurde kein Benutzer mit den angegebenen Namen gefunden.';
}
$stmt->close();
$sql = 'SELECT
Password
FROM
User
WHERE
ID = ? AND
Password = ?';
$stmt = $db->prepare($sql);
if (!$stmt) {
return $db->error;
}
$Hash = md5(md5($UserID).$Password);
$stmt->bind_param('is', $UserID, $Hash);
if (!$stmt->execute()) {
return $stmt->error;
}
$stmt->bind_result($Hash);
if (!$stmt->fetch()) {
return 'Das eingegebene Password ist ungültig.';
}
$stmt->close();
$_COOKIE['UserID'] = $UserID;
$_COOKIE['Password'] = $Hash;
return showInfo('Sie sind nun eingeloggt.');
}
return $ret;
readfile('footer.html');
?>
Das soll ein Login-Skript sein. Ganz einfach - Ich will das erstmal nnur hinbekommen, dass ich mich irgendwie einloggen kann. Aber bei diesem Skript zeigt er mir einfach kein Formular an. Was mache ich falsch? Die Formular-Datei, die ich oben einfüge, stimmt hundertprozentig. Kann mir jemand sagen, was ich an dem Skript ändern muss, damit ich das Formular sehe, in das ich meine Logindaten eingebe?
Gruß,
Hannes