<html>
<head>
<title>Benutzerüberprüfung mittels optimaler Funktionskapselung</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<?
function get_form_data(&$ruid,&$rpwd)
{
// �berpr�fen, ob vom Aufrufer dieser Seite ein Element mit dem Namen uid vorhanden ist
if (isset($_POST["uid"]))
{
// lokale Variable $myUid auf den Wert dese Elementes mit dem Namen uid setzen
$myUid=$_POST["uid"];
}
else // Element uid ist nicht vorhanden
{
// Fehlermeldung ausgeben
echo("Programmfehler: uid nicht definiert<br>");
// Funktionalit�t beenden
return false;
}
// �berpr�fen, ob vom Aufrufer dieser Seite ein Element mit dem Namen pwd vorhanden ist
if (isset($_POST['pwd']))
{
// lokale Variable $myPwd auf den Wert dese Elementes mit dem Namen pwd setzen
$myPwd=$_POST['pwd'];
}
else // Element pwd ist nicht vorhanden
{
// Fehlermeldung ausgeben
echo("Programmfehler: pwd nicht definiert<br>");
// Funktionalit�t beenden
return false;
}
// R�kcgabewerte setzen:
// Referenzvariablen bekommen den Wert der lokalen Variablen
$ruid=$myUid;
$rpwd=$myPwd;
return true;
}
function check_input($myUid,$myPwd)
{
// �berpr�fen, ob ein Benutzername eingegeben wurde
if ($myUid == "")
{
// Fehlermeldung ausgeben
echo("Benutzername fehlt<br>");
// Funktionalit�t beenden
return false;
}
// �berpr�fen, ob ein Passwort eingegeben wurde
if ($myPwd == "")
{
// Fehlermeldung ausgeben
echo("Passwort fehlt<br>");
// Funktionalit�t beenden
return false;
}
//in Anh�ngigkeit des Benutzernamens dessen Passwort auf
// die lokale Variable $fixedPw speichern
switch($myUid)
{
case "PCZ":
$fixedPw="schule";
break;
case "pcz":
$fixedPw="pcz123";
break;
default:
// Fehlermeldung ausgeben
echo("Unbekannter Benutzer<br>");
// Funktionalit�t beenden
return false;
break;
}
// tats�chliche Passwort�berpr�fung
// der Wert der Variablen $myPwd kommt von der Benutzereingabe
// der Wert der Variablen $fixedPw ist durch den Programmcode festgelegt
if ($myPwd != $fixedPw)
{
// Fehlermeldung ausgeben
echo("Passwort falsch<br>");
// Funktionalit�t beenden
return false;
}
// alle Fehlerpr�fungen wurden erfolgreich �berstanden
return true;
}
// Mittels der Funktion get_form_data() den
// Benutzer und das Passwort vom aufrufenden Formular auslesen
if (!get_form_data($benutzer,$passwort))
{
// Funktionalit�t beenden
return;
}
// Die tats�chliche Passwortpr�fung mit Hilfe
// der Funktion check_input() durchf�hren
if (!check_input($benutzer,$passwort))
{
// Funktionalit�t beenden
return;
}
// Logische Konsequenz der letzten if-Abfrage: wenn der R�ckgabewert der Funktion check_input() true ist
echo("Sie sind erfolgreich eingeloggt.<br>");
?>
</body>
</html>