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

Eine Supportdatenbank in ASP erstellen - Teil 2

Geschrieben von: Klaus Aschenbrenner
Kategorie: Datenbank

Herzlich Willkommen zum 2. Teil dieser Serie, die aus 3 Teilen besteht. Im 2. Teil möchte ich Ihnen nun zeigen, wie zB. ein Supportmitarbeiter eine Supportanfrage, die ein Besucher der Website gepostet hat, beantworten kann. Diese Antwort wird in der Datenbank gespeichert und per Email an den Anfragenden gesendet.

Im 3. Teil werden Sie dann sehen, wie man aus diesen Fragen und Antworten eine FAQ-Datenbank aufbaut, welche dann User bequem ansehen können. Außerdem können die Besucher dann eigene Lösungen für die Probleme verfassen.

Login in den Administrationsbereich der Supportdatenbank

Als erstes möchte ich Ihnen in der nachfolgenden Grafik zeigen, wie sich ein Supportmitarbeiter in den Administrationsbereich einloggen kann:

Das Loginformular wird in der Datei "login.asp" realisiert. Der Supportmitarbeiter muß sein Benutzerkonto und sein Passwort eingeben. Hier wird wieder über eine JavaScript-Funktion clientseitig überprüft, ob alle Felder ausgefüllt wurden. (Zeile 57 - 81).

Als erstes wird hier nochmals überprüft, ob alle Felder ausgefüllt wurden, da es vorkommen kann, daß man JavaScript im Browser deaktiviert hat. (Zeile 57 - 81). Im Rest der Datei wird nur überprüft, ob das Benutzerkonto vorhanden ist und ob das zugehörige Passwort stimmt. Wenn diese Bedingungen erfüllt sind, wird zur Datei "problems.asp" verzweigt (Zeile 38 in login.asp).

Wenn der User noch kein Benutzerkonto besitzt, kann er über den Link "Neues Administratorenkonto" ein Benutzerkonto anlegen. Dies wird in der Datei "newaccount.asp" durchgeführt:

Hier muß der Supportmitarbeiter seinen Benutzernamen und sein gewünschtes Passwort eingeben. Hier wird wieder clientseitig mit einer JavaScript-Funktion überprüft, ob alle Felder ausgefüllt sind (Zeile 82 - 120). Mit dem ASP-Script in der Datei "registeraccount.asp" wird anschließend das neue Benutzerkonto in der Tabelle "Users" gespeichert.

Zuerst wird per JavaScript nochmals überprüft, ob alle Felder ausgefüllt sind (Zeile 8 - 15). Anschließend wird überprüft, ob der Benutzername schon vorhanden ist (Zeile 16 - 32). Trifft dies zu, wird eine entsprechende Meldung angezeigt. Anschließend wird ein neuer Datensatz mit den Daten des Benutzerkontos hinzugefügt.

Nachdem Sie oben den Aufbau des Formulars gesehen haben, können wir nun daraus unser Tabellenschema für die Benutzerkonten ableiten. Es sieht in Access 2000 bzw. SQL Server 2000 folgendermaßen aus:

Die Tabelle habe ich einfach Users genannt. Anschließend hier die Feldbeschreibungen mit den entsprechenden Datentypen (SQL Server 2000 und Access 2000 Datentypen sind angegeben):

  • Username: char (50) oder Text 50, Name des Benutzerkontos
  • Passwort: char (50) oder Text 50, Passwort des Benutzerkontos
  • ID: int (mit Identity) oder Autonumber, ID der Datensätze der Tabelle

Den Ablauf zum Anmelden und zur Anlegung eines neuen Benutzerkontos habe ich in der folgenden Grafik dargestellt:

Hier nochmals die Erklärung des Ablaufs: Wenn der Supportmitarbeiter noch kein Benutzerkonto hat, kann er sich über den Link "Neues Administratorenkonto" ein neues Konto anlegen. Ist dies geschehen, oder ist bereits ein Konto vorhanden, kann man sich in der "login.asp" in den Administrationsbereich der Supportdatenbank einloggen.

Administrationsbereich der Supportdatenbank

Der Administrationsbereich der Supportdatenbank wird in der Datei "problems.asp" realisiert. In den Zeilen 22 - 35 wird eine Datenbankverbindung zu der Tabelle "Support" aufgebaut, in welcher die Supportanfragen gespeichert sind. Die Speicherung der Supportanfragen habe ich im 1. Teil meiner 3-teiligen Serie besprochen.

Die Supportanfragen werden mit Hilfe eines Paging-Mechanismuses in einer Tabelle dargestellt:

Dafür wird für jeden Datensatz in der Tabelle "Support" eine neue Zeile in der Tabelle angelegt. Dies geschieht in den Zeilen 43 - 60. Es wird einfach das Recordset durchge-laufen, und die Felder Name, Email, Programm, Problem in der Tabelle ausgegeben. Außerdem wird für die Beantwortung des Problems ein Link mit dem Titel "Antworten" erzeugt. Dieser verweist auf die Datei "reply.asp". Als Parameter wird die ID der Supportanfrage übergeben, über welche die Anfrage eindeutig identifiziert wird, im Querystring übergeben.

Beantworten der Supportanfrage

Die Beantwortung der Supportanfrage wird in der Datei "reply.asp" durchgeführt. Das Argument "ID" beinhaltet die ID der Supportanfrage, welche beantwortet wird. Über diese ID werden in den Zeilen 1 - 23 die Felder Name, Email, Programm und Problem aus der Tabelle "Support" ausgelesen. Diese werden dann in einer Tabelle ausgegeben, in welcher der Supportmitarbeiter die Lösung verfassen kann:

Hier wird wiederum clientseitig per JavaScript-Funktion überprüft, ob der Supportmitarbeiter eine Lösung verfaßt hat. Anschließend wird der Formularinhalt in der Datei "send.asp" übergeben.

Supportanfrage speichern und versenden

In der Datei "send.asp" wird die Lösung in der Datenbank gespeichert und anschließend per Email an den Anfragenden versendet. Die Lösung des Problems wird in der Tabelle "Loesungen" gespeichert. Anschließend hier die Feldbeschreibungen mit den entsprechenden Datentypen (SQL Server 2000 und Access 2000 Datentypen sind angegeben):

  • Loesung: text oder Memo, Lösung des Problems
  • SupportID: int oder Zahl, ID der Supportanfrage

Das Tabellenschema für die Tabelle "Lösungen" in Access 2000 und SQL Server 2000 sieht folgendermaßen aus:

Jetzt werden Sie sich vielleicht fragen, warum ich für die SupportID keinen Autowert verwendet habe? Die Lösung ist ganz einfach: Über das SupportID-Feld werden die beiden Tabellen "Support" (Spalte ID) und "Loesungen" (Spalte SupportID) verknüpft. Es ist somit also möglich, daß es für eine Supportanfrage mehrere Lösungen gibt, was in der Computerindustrie natürlich nicht so abwegig ist....

In den Zeilen 5 - 8 werden die Variablen für den Email-Versand initialisiert. Der Email-Versand wird über die Komponente ASPMail durchgeführt. Sie können diese Komponente von der Adresse http://www.serverobjects.com beziehen. Sie müssen diese 3 Variablen an Ihre Bedürfnisse anpassen! Anschließend wird in den Zeilen 10 - 31 die Lösung des Problems in der Tabelle "Loesungen" gespeichert. In den Zeilen 34 - 60 wird dann die Lösung per Email an den Anfragenden versendet. Dies geschieht in 2 Schritten:

  • In den Zeilen 34 - 42 werden der Name und die Email-Adresse des Anfragenden aus der Tabelle "Support" ermittelt. Hierfür wird die Variable "SupportID" verwendet.
  • Anschließend wird in den Zeilen 45 - 62 das eigentliche Email versendet.

Hier nochmals die Erklärung des Ablaufs: In der Datei "problems.asp" wählt der Supportmitarbeiter den Link "Antworten" der entsprechenden Supportanfrage aus. Danach kann er in der Datei "reply.asp" die Lösung für das Problem verfassen. Anschließend wird diese Lösung in der Tabelle "Loesung" gespeichert und an den Anfragenden versendet.

Den Ablauf für die Beantwortung einer Anfrage habe ich in der folgenden Grafik dargestellt:

Zusammenfassung

Sie haben im 2. Teil meiner 3-teiligen Serie einerseits gesehen, wie ein Supportmitarbeiter eine Supportanfrage beantworten kann, und andererseits haben Sie gelernt, wie man einen einfachen Passwortschutz auf einer Webseite implementiert.

Außerdem habe ich Ihnen gezeigt, wie Sie mit der ASPMail-Komponente bequem Emails von Ihrer Webseite verschicken können.

Im letzten Teil meiner Serie werden Sie dann sehen, wie aus den beiden Tabellen "Support" und "Loesungen" eine FAQ-Datenbank aufgebaut wird. Ich hoffe, wir "lesen" uns wieder!

Download des Codes

Klicken Sie hier, um den Download zu starten.

Verwandte Artikel

Eine Supportdatenbank in ASP erstellen (1/3)

Links zu anderen Sites

ASPMail

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.