Überprüfen von HTML-Formularen mit ASP
Geschrieben von: Christian Koller Wenn ein Besucher Ihrer Site ein HTML-Formular abschickt, so ist oft der nächste Schritt, die eingegebenen Werte des Formulares zu überprüfen und gegebenenfalls eine Fehlermeldung auszugeben. Wie setzt man dies mit ASP im einzelnen technisch um? Wenn es sich um ein einfaches Formular handelt, so ist das folgende Verfahren oft zielführend: Das Formular wird von der selben ASP-Seite ausgegeben, die auch die Überprüfung der eingegebenen Formularwerte übernimmt. Ausserdem verarbeitet die ASP-Seite bei positiver Überprüfung die Formular-Werte, um danach erst eine neue Seite aufzurufen. Sollte die Überprüfung der Formularwerte negativ sein, so wird eine Fehlermeldung ausgegeben und das Formular noch einmal angezeigt. Dies bedeutet, daß das Formular an die selbe Seite abgeschickt wird, von der das Formular generiert wird. Die Seite prüft dann, ob die Werte gültig sind, und entscheidet, ob das Formular zusammen mit einer Fehlermeldung noch einmal ausgegeben wird, oder die Werte verarbeitet werden und eine neue Seite aufgerufen wird. Das folgende Beispiel zeigt, wie dies mit ASP implementiert werden kann: <% ' Fehlerflag setzen, bisher kein Fehler gefunden bError = False ' Hier den Namen des Submit Buttons statt "Abschicken" einfuegen If Request.Form("Abschicken") <> "" Then ' Formular abgeschickt, Werte lesen ' Abgeschickte Feldwerte auslesen strName = Request.Form("Name") strEmail = Request.Form("Email") ' Ueberpruefen des Wertes der Email-Adresse If Instr(strEmail,"@") = 0 Then ' Kein "@" in Email Adresse, daher ungueltig ' Fehlerflag setzen bError = True ElseIf Instr(strEmail,".") = 0 Then ' Kein "." in Email Adresse, daher ungueltig ' Fehlerflag setzen bError = True Else ' Werte sind gueltig, daher verarbeiten ' Werte verarbeiten ... ' Neue Seite aufrufen, statt "neueSeite.asp" den Namen der ' neuen Seite angeben Response.Redirect "neueSeite.asp" Response.End End If End If ' Fehlermeldung ausgeben wenn Formularwerte ungueltig If bError = True Then Response.Write "Ihre Email Adresse ist nicht gueltig" End If ' Formular ausgeben ' Da das Formular an die erzeugende ASP Seite geschickt wird, ' nutzt das Script den Befehl Request.ServerVariables("SCRIPT_NAME") ' um Pfad und Namen der eigenen ASP-Seite auszugeben %> <FORM ACTION="<%= Request.ServerVariables("SCRIPT_NAME") %>" METHOD="POST> Name: <INPUT TYPE="TEXT" NAME="Name" VALUE="<%= strName %>"><BR> Email: <INPUT TYPE="TEXT" NAME="Email" VALUE="<%= strEmail %>"><BR> <INPUT TYPE="Submit" NAME="Abschicken" VALUE="Absenden"> </FORM> Anmerkung: Wenn man zum Abschicken des Formulares statt der POST Methode die GET Methode verwendet, so muss im ASP-Code jedes "Request.Form" gegen "Request.QueryString" ausgetauscht werden. Das Skript im vorhergehenden Beispiel prüft also beim Aufrufen, ob es gerade Werte eines abgesendeten Formulares erhält. Wenn das Formular tatsächlich abgeschickt wurde, so hat Request.Form("Abschicken") einen Wert verschieden vom Leerstring "". Dementsprechend liest das Skript in der ersten If-Verzweigung die Werte des Formulares aus und prüft die Email Adresse in den nachfolgenden If-Verzweigungen. Wenn die Email Adresse gültig ist, so verarbeitet das Skript die Werte und ruft die Seite neueSeite.asp auf. Wenn die Email nicht gültig sein sollte, so enthält bError den Wert False, eine Fehlermeldung wird ausgegeben und das Formular noch einmal mit den bereits eingegebenen Werten angezeigt. Sollte die Seite aufgerufen worden sein, ohne daß vorher das Formular an die Seite geschickt wurde, so liefert Request.Form("Abschicken") in der ersten If-Verzweigung keinen Wert. Dies bewirkt, daß keine Formularwerte abgefragt oder überprüft werden, sondern nur das Formular ausgegeben wird. Verwandte Artikel
Übergeben von Informationen von einer ASP-Seite zur nächsten 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.
©2000-2006 AspHeute.com |