Geschrieben von: Christoph Wille
Kategorie: Datenbank
This printed page brought to you by AlphaSierraPapa
In den bisherigen beiden Teilen der Gästebuchserie haben wir uns mit dem Frontend für den Endbenutzer beschäftigt - einen eigenen Eintrag eingeben, sowie die Liste der existierenden Einträge durchblättern. Heute, im letzten Teil der Serie, beschäftigen wir uns mit dem administrativen Frontend - um Einträge löschen und editieren zu können.
Worauf muß man bei einem administrativen Frontend besonders aufpassen? Richtig, daß nur berechtigte Personen darauf Zugriff bekommen. Um dies ohne Zutun des Providers zu erreichen (zB via NTFS Zugriffsrechten), habe ich eine neue Tabelle namens AdminLogins in die Datenbank eingebaut:
Dazugehörig ist die ASP Datei logon.asp, die ein Frontend für die Eingabe des Benutzernamens und Passworts darstellt, das auch den Code zur Überprüfung dieser Daten beeinhaltet.
An dieser Stelle möchte ich mich auch gleich dafür entschuldigen, daß die Administrationsseiten in Englisch gehalten sind - dies ist Standard in unserer Firma, und da das präsentierte Gästebuch auf auch AspGerman.com seinen Dienst tut, entsprechen diese Seiten auch den Vorgaben.
Was passiert nun nach einem erfolgreichen Logon? Man wird auf die Hauptseite weitergeleitet:
Die Datei adminnav.asp beeinhaltet einige DHTML "Spielereien", und ist nicht weiter interessant. Im Gegensatz dazu allerdings gibt die Datei instructions.asp trotz ihrer Kleinheit einen Einblick in den Aufbau der ganzen Administrationssite:
<% @ Language=VBScript %> <!--#include file="security.asp"--> <% Const cstrPagetitle = "Instructions" %> <!--#include file="includes.asp"--> <!--#include file="pageheader.asp"--> <!--#include file="pagebegin.asp"--> <H1><%=cstrPagetitle%></H1> <p> Instructions on how to administer the guestbook is going to be shown here! </p> <!--#include file="pageend.asp"-->
Auf den ersten Blick ist diese Seite eine Ansammlung von Includes, allerdings erfüllen alle ihren Zweck:
Es gibt 2 Aufgaben, die die Administrationsseiten zulassen: die Benutzer zu administrieren (usermanagement.asp), und die Gästebucheinträge zu warten (gbentries.asp). Das Benutzermanagement ist straight-forward, und bedarf keiner großen Erklärungen. Der wirklich interessante Teil ist die Einträgewartung.
Die Datei gbentries.asp ist vom Prinzip her völlig gleich wie entries.asp aufgebaut, mit dem Unterschied, daß es Links für das Löschen und Editieren des Eintrags gibt. Das Paging funktioniert völlig ident wie beim Frontend für den Benutzer.
Wie habe ich das Ändern eines Eintrags implementiert? Das folgende Flowchart zeigt den Ablauf:
Von gbentries.asp wird auf change.asp gelinkt, das ein Formular für den Administrator zur Verfügung stellt - mit den alten Werten aus der Datenbank. Klickt der Administrator auf Änderungen speichern (Save changes), wird das Skript persistchanges.asp aufgerufen, und die gewünschten Änderungen in die Datenbank geschrieben.
Das Löschen von Einträgen geht leichter von statten - es ist nur eine Datei notwendig, nämlich delete.asp:
Aus Sicherheitsgründen frage ich den Administrator, ob er die Löschung wirklich durchführen möchte.
In der Administrationssite gibt es dann nur noch eine einzige Datei, die ich noch nicht erwähnt habe: logout.asp. Sie macht ihrem Namen auch alle Ehre, indem sie den Benutzer wirklich definitiv hinauswirft (alle Session Variablen werden gelöscht, und dann auch noch die Session selbst beendet). Somit hat man die Administrationssite verlassen.
Damit bin ich am Ende der Serie über die Erstellung eines Gästebuches mit ASP und ADO. Der gesamte Sourcecode des Projekts (Teile 1-3) befindet sich im Download. Ich hoffe, Ihnen damit den Start Ihres eigenen Gästebuchprojekts etwas erleichtert zu haben.
This printed page brought to you by AlphaSierraPapa
Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20000404.zip
Ein Gästebuch in ASP erstellen - Teil 1
http:/www.aspheute.com/artikel/20000331.htm
Ein Gästebuch in ASP erstellen - Teil 2
http:/www.aspheute.com/artikel/20000403.htm
AspGerman Gästebuch
http://www.aspgerman.com/aspgerman/guestbook/
©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.