Hi Zusammen,
ich nutze für meine Steuerung mit IPS ein selbst erstelltes webinterface. Um das Interface von extern zugänglich zu machen und damit nicht jeder drauf kommt, habe ich folgendes Loginscript:
login.php
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
session_start();
$username = $_POST['username'];
$passwort = $_POST['passwort'];
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
// Benutzername und Passwort werden überprüft
if ($username == 'meinuser' && $passwort == 'meinpw') {
$_SESSION['angemeldet'] = true;
// Weiterleitung zur geschützten Startseite
if ($_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') {
if (php_sapi_name() == 'cgi') {
header('Status: 303 See Other');
}
else {
header('HTTP/1.1 303 See Other');
}
}
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'index.php');
exit;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<title>Geschützter Bereich</title>
</head>
<body>
<form action="login.php" method="post">
Username: <input type="text" name="username" /><br />
Passwort: <input type="password" name="passwort" /><br />
<input type="submit" value="Anmelden" />
</form>
</body>
</html>
logout.php
<?php
session_start();
session_destroy();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');
?>
auth.php
<?php
session_start();
$hostname = $_SERVER['HTTP_HOST'];
$path = dirname($_SERVER['PHP_SELF']);
if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) {
header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php');
exit;
}
?>
die auth.php füge ich mit include in meine header.php ein.
Mich möchte noch erwähnen, dass ich noch nicht sehr fit in PHP bin und mich momentan reinarbeite.
So, nun zu meinem Problem:
wenn ich z.B. meine index.php aufrufe, komme ich auf meine login.php, klar… ist ja niemand eingelogt.
Wenn ich Benutzername und Passwort eingebe komme immer wieder auf die login.php, der Benutzer ist auch nicht eingelogt.
Vielen Dank schonmal für eure Hilfe.
Gruß,
Markus