PHP Loginscript fehlerhaft?

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

Nutz doch einfach die im WebServer vorhandene Funktion. Dort kannst du einen Benutzername/Passwort angeben.

Kern Instanzen -> WebServer

paresy

Hallo,
mit session_register funktioniert es auch nicht?
Gruss,
SCN