Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Ein Gästebuch in ASP erstellen - Teil 3

Geschrieben von: Christoph Wille
Kategorie: Datenbank

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:

AdminLogins

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.

Logon

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:

Hauptseite

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:

  • security.asp führt die Überprüfung durch, ob der Administrator eingeloggt ist. Wenn nicht, wird er auf logon.asp weitergeleitet.
  • includes.asp Inkludiert die Datenbankverbindung und Parameter für alle Seiten.
  • pageheader.asp Der erste Teil des HTML Headers.
  • pagebegin.asp Schließt den HTML Header und definiert den Seitenbeginn.
  • pageend.asp Schließt die Seite korrekt.

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.

gbentries.asp

Wie habe ich das Ändern eines Eintrags implementiert? Das folgende Flowchart zeigt den Ablauf:

Eintrag ändern

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:

Eintrag löschen

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.

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Ein Gästebuch in ASP erstellen - Teil 1
Ein Gästebuch in ASP erstellen - Teil 2

Links zu anderen Sites

AspGerman Gästebuch

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©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.