Das CMS ist jetzt soweit, dass es das Kennwort des Admins prüfen kann. Nun müssen wir auch herausfinden, ob der Admin eingeloggt ist, oder eben nicht. Dies geschieht auch in der Klasse User. Sie bekommt die Funktion login. Als Parameter bekommt sie den Usernamen und das Passwort. In der Datei index.php wird nach erfolgreichen Login der User-Name in eine Session-Variable gespeichert. Der Wert davon wird auf dem Server gespeichert, denn so leicht soll das CMS dann doch nicht gehackt werden können^^
Hier ist ist erstmal die simpele Login-Funktion in der user Klasse (system/classes/user-php):
... function login($name,$password){ global $dbpraefix; $password = mysql_real_escape_string(trim($password)); $this->name = mysql_real_escape_string(trim($name)); if($this->checkPassword($password)){ return true; } else{ return false; } } ...
Die Datei index.php im Verzeichnis Admin wurde nun so erweitert, dass der Username gespeichert wird. Man achte auf das session_start^^. Zum Testen wird dann noch “Hallo” username ausgegeben:
<?PHP session_start(); include("../system/dbconnect.php"); include("../system/settings.php"); include("../system/classes/user.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de"> <head> <title>Admin-Bereich</title> </head> <body> <?PHP $user = new User(); if($_POST['user']){ if($user->login($_POST['user'],$_POST['password'])){ $_SESSION['username'] = $_POST['user']; echo "<p>Login erfolgreich!</p>"; } else{ echo "<p>Login Fehlgeschlagen!</p>"; } } if(isset($_SESSION['username'])){ echo "Hallo ".$_SESSION['username']."!"; } ?> <form action="index.php" method="post"> Benutzer: <input name="user" /><br /> Passwort: <input name="password" type="password"><br /> <input type="submit" value="Login" /> </form> </body> </html>
Dies ist ein Beitrag aus der Aktion Code & Blog, in der hier ein eigenes CMS erstellt wird.





