Geschrieben von: Klaus Aschenbrenner
Kategorie: Datenbank
This printed page brought to you by AlphaSierraPapa
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.
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):
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.
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.
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.
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):
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:
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:
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!
This printed page brought to you by AlphaSierraPapa
Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20010214.zip
Eine Supportdatenbank in ASP erstellen (1/3)
http:/www.aspheute.com/artikel/20000915.htm
ASPMail
http://www.serverobjects.com/
©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.