So habe ich das ganze ja auch gemacht.
Ich hatte den PHP Teil zwar schon auf der letzten Seite mit eingebracht aber ist ja auch egal, dann muss man auch nicht immer eine Seite nebenbei aufhaben, also hier:
PHP
session_start();
error_reporting(E_ALL);
header('Content-Type: text/html; charset=utf-8');
if(!isset($_SESSION["eingeloggt"]))
{
if(isset($_POST["Login"]))
{
if(isset($_POST["User"]) and isset($_POST["Password"]) and !empty($_POST["User"]) and !empty($_POST["Password"]))
{
if(strlen($_POST["User"]) >= 3 and strlen($_POST["Password"]) >= 4)
{
$user = $_POST["User"];
$password = md5($_POST["Password"]);
$query = $dbz->prepare("SELECT * FROM Backend WHERE Benutzername = :user AND Passwort = :password LIMIT 1");
$query->bindParam(':user', $user);
$query->bindParam(':password', $password);
try
{
$query->execute() or die();
$result = $query->fetch();
$dbz = null;
}
catch(PDOException $e)
{
$dbz = null;
if(isset($_GET['ajaxLogin']))
{
echo json_encode(array('login' => false,
'error' => 'Ein Fehler ist aufgetreten!' . $e));
exit;
}
echo '<p>Ein Fehler ist aufgetreten!</p>' . $e;
header("Refresh:3; url=index.php?site=backend-login");
exit;
}
if(isset($result) and !empty($result) and is_array($result))
{
$_SESSION["eingeloggt"] = $user;
if(isset($_GET['ajaxLogin'])) // login kam über ajax
{
echo json_encode(array('login' => true,
'error' => ''));
exit;
}
$smarty->display('pass.html');
header("Refresh:1; url=index.php?site=backend");
exit;
}
else
{
if(isset($_GET['ajaxLogin']))
{
echo json_encode(array('login' => false,
'error' => 'Der Benutzername oder das Passwort ist oder sind falsch!'));
exit;
}
echo '<p style="text-align: center; color: red">Der Benutzername oder das Passwort ist oder sind falsch!</p>';
header("Refresh:3; url=index.php?site=backend-login");
exit;
}
}
else
{
if(isset($_GET['ajaxLogin']))
{
echo json_encode(array('login' => false,
'error' => 'Der Benutzername muss mehr als 3 Zeichen enthalten und das Passwort mehr als 4!'));
exit;
}
echo '<p style="text-align: center; color: red">Der Benutzername muss mehr als 2 Zeichen enthalten und das Passwort mehr als 3!</p>';
header("Refresh:3; url=index.php?site=backend-login");
exit;
}
}
else
{
if(isset($_GET['ajaxLogin']))
{
echo json_encode(array('login' => false,
'error' => 'Bitte fuellen Sie beide Felder aus'));
exit;
}
echo '<p style="text-align: center; color: red"> Bitte fuellen Sie beide Felder aus!</p>';
header("Refresh:3; url=index.php?site=backend-login");
exit;
}
}
else
{
$smarty->display('templates/backend-login.tpl');
}
}
else
{
echo '<p style="text-align: center; color: green;">Sie sind bereits eingeloggt, Sie werden nun zum Backend weitergeleitet!</p>';
header("Location: index.php?site=backend");
exit;
}
Alles anzeigen
Bitte das mit dem md5 ignorieren, das ändere ich sobald das mit dem JS Teil funktioniert. Ich muss mich da dann auch erst einmal noch ein wenig einlesen.
Könnte sich auch noch einmal jemand meinen Beitrag (21) anschauen. Da hatte ich ja noch eine Frage wegen der Einstellungsdatei und dem Überprüfen der aktuellen Seite.