AspGerman Wiki

Problem ist meist ein hochhaariges - du sitzt vor der Kiste, das Ding tut nicht wie es soll, ein Fehler ist nicht auszumachen und du stehst kurz davor den Glauben an die Menschheit zu verlieren. So was passiert 3 bis 5 mal im Jahr. Bestimmt 2 mal davon hat es mit ganz einfachen Fehlern im Formular zu tun. Dann hilft das folgende Script die flache Hand gegen die Stirn zu beschleunigen.

Bearbeiten

Verwendung

den Code in eine Datei REFLEKTOR.ASP im Root-Verzeichnis ablegen. Zum Debuggen des Formulars testweise eintragen.

Wie gesagt: Du wirst es nur zweimal im Jahr brauchen. Dann aber dringend.

Nebenbei: Teile es Codes können für allgemeine Formularbehandlung wiederverwendet werden. Zum Beispiel wie lese ich die Felder aus, wenn mehrmals der gleiche Name für ein Eingabefeld verwendet wurde.

<%@ LANGUAGE = VBScript %> <% ENABLESESSIONSSTATE = False %>

<html>
<head>
<title>Confirmation </title>
<body>

<h1>Reflektor zum Testen von Forms</h1>

<p>Sie haben von Ihrem PC
<font color="red"><%= Request.ServerVariables("REMOTE_HOST") %></font> an den Server
<font color="red"><%= Request.ServerVariables("SERVER_NAME") %></font> insgesamt
<font color="blue"><%= Request.ServerVariables("HTTP_CONTENT_LENGTH")%></font>&nbsp;Byte
geschickt</p>

<p>Folgende Variablen wurden von
<a href="<%= Request.ServerVariables("HTTP_REFERER") %>">
<%=Request.ServerVariables("HTTP_REFERER") %></a> an
<font color="blue"><%= Request.ServerVariables("URL") %></font> übergeben:</p>

<%
Dim Field, a, b

For Each Field In Request.Form
	If Request.Form(Field).Count > 1 Then
		For i = 1 to Request.Form(Field).Count
			Response.Write "<font color=""red"">" & Field & "." & i & _
				</font> = <font color=""blue"">" & Request.Form(Field)(i) & _
				"</font><BR>" & vbcrlf
		Next
	Else
		Response.Write "<font color=""red"">" & Field & "</font> = <font color=""blue"">" & _
			Request.Form(Field) & "</font><BR>" & vbcrlf
	End If
Next

For Each Field In Request.QueryString
	If Request.QueryString(Field).Count > 1 Then
		For i = 1 to Request.QueryString(Field).Count
			Response.Write "<font color=""red"">" & Field & "." & i & _
				"</font> = <font color=""blue"">" & Request.QueryString(Field)(i) & _
				"</font><BR>" & vbcrlf
		Next
	Else
		Response.Write "<font color=""red"">" & Field & "</font> = <font color=""blue"">" & _
			Request.QueryString(Field) & "</font><BR>" & vbcrlf
	End If
Next

Response.write "<hr>" & vbcrlf
' -- da immer nur eines geht (GET oder POST), kommt bei der Addition der beiden immer das richtige raus.
Response.write "<font color=""red"">Anzahl Felder</font> = <font color=""blue"">" & _
	Request.Form().Count + Request.QueryString().Count & _
	"</font><BR>" & vbcrlf

Response.write "<hr><h2>Rohdaten</h2>" & vbcrlf
a = split(Request.Form, "&")
For i = 0 To UBound(a)
	b = split(a(i), "=")
	Response.Write "<font color=""red"">" & b(0) & "</font> = <font color=""blue"">" & _
		b(1) & "</font><BR>" & vbcrlf
Next

Response.write "<hr>" & vbcrlf
Response.write "<font color=""red"">Unescaped:</font><br>" & vbcrlf
Response.write "<font color=""blue"">" & Request.Form & _
	Request.Querystring & "</font><BR>" & vbcrlf

%>

</body>
</html>

ScrewTurn Wiki version 2.0.33. Some of the icons created by FamFamFam.