Bini's Unterrichtsmaterial

Quellcode von login.php

<?php    // login.php bi 2012.02
        //         Session wird gestartet!
        //         Dies muss erfolgen bevor irgend ein anderer Code kommt - Headerinformation
    
session_start();

    
// ------------------------------------    Wenn Logout gedrückt wurde -> Session löschen
    
if (isset($_POST['logout'])){
        
session_destroy();
    }
    
$ps=$_SERVER['PHP_SELF'];
?>
<!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" lang="de" xml:lang="de"> 
     <head>
       <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />                       
       <link href="sessions.css" rel="stylesheet" type="text/css" />
       <title>Bini's Unterrichtsmaterial - PHP Sessions</title>
     </head>
<body>
<h1>Bini's Unterrichtsmaterial - PHP Sessions</h1>
<h3>Session Login</h3>
<h4>Erlaubte Benutzerkonten:</h4>

    <table>
    <th>Name</th><th>Passwort</th>
    <tr><td>TestUser</td><td>1234</td></tr>
    <tr><td>Anton</td><td>austirol</td></tr>
    </table>
    
    <form action="<?php $ps ?>" method="post">
    <table>
    <tr><td>Name:</td><td><input type="text" name="name"></td></tr>
    <tr><td>Passwort:</td><td><input type="password" name="passwort"></td></tr>
    <tr><td>&nbsp;</td><td><input type="submit" name="einloggen" value="Einloggen"></td></tr>
    </table>
    </form>
    
    <p>
    <a href="seite1.php">Link in den internen Bereich, ohne sich einzuloggen.</a><br />
    (Das entspricht dem Aufrufen der direkten URL im<br />
    Browser, was ja verhindert werden soll)
    </p>

<?php
    
if (isset($_POST['einloggen'])){
        
$name=$_POST['name'];            // Daten aus dem Formular vom Server holen
        
$passwort=$_POST['passwort'];
        if (!(
$name=='TestUser' and $passwort=='1234') and !($name=='Anton' and $passwort=='austirol')) {
            echo 
"<p class='fehler'>Anmeldung nur mit den festgelegten Benutzerkonten möglich!</p>";
        }
        
        else {                            
// Daten in Session speichern
            
$_SESSION['sname']=$name;
            
$_SESSION['spasswort']=$passwort;
            
$_SESSION['sseite']=basename($ps);
            
            
// ------------- Weiterleitungs-Skript -----------------
            
echo "<script type='text/javascript'>";
            echo 
"function redirect_user() {";
            echo 
"window.location.replace('seite1.php')"
            echo 
"}";
            echo 
"Timer = setTimeout('redirect_user()' , 0)";
            echo 
"</script>";
            
// -----------------------------------------------------
        
}
    }
?>
</body>
</html>