DevTrain

Autor: Andreas Rauch

POST und Get - bequemer Handel mit Formulardaten

Das simpelste auf der Welt kann oft die größten Fragezeichen ergeben. Wie lese ich Daten aus einem Formular aus und vor allem  wie übergebe ich die Daten von einer Seite zu einer anderen.

Neben anderen Möglichkeiten (session variablen etc.) gibt es noch die altbekannten
Methoden Formulardaten von einer Seite auf eine andere zu übertragen. Was sie dort anstellen ist Legion. Ob Sie nun die Daten einfach anzeigen oder in eine Daten schreiben bleibt jedem selbst überlassen. Die Frage ist nur nur: Wie gehts?

Vielleicht denken Sie:"Das mache ich mit session Variablen!" Ok das geht! Aber bdenken Sie auch, daß pro User der Ihre Seiten zugreift, in diesem Moment evtl. nicht blß eine sondern mehrere Session variable erstellt und somit Speicher auf ihrem Server verbraucht. Greifen beispielsweise 100 Leute auf ihre Seiten zu (bei jeweils 3 SV) haben sie auf ihrem Server schon 300 zu verwalten. Ganz zu schweigen bei Seiten mit 10000 gleichzeitigen Zugriffen.
Als Alternative stelle ich deshalb POST und GET vor.

Die Funktionsweise von POST und GET unterscheidet sich aber.
Wie funktionierts und wie gehts?

Funktionsweisen

Während die Methode POST die Formulardaten direkt an Seite überliefert
method=post
überliefert GET mit
method=get
die Daten zuerst an den Server, wo Sie dann in einer Umgebungsvariablen zwischengespreichert werden. Wenn sie die beiden mal ausprobieren schauen sie sich mal die URL an. Dort werde sie sehen, daß sich bei post nichts besonderes tut, während bei Get in der URL hinter einem ? die Werte unserer Form stehen.

http://localhost/asp_schulung/GET.asp?vorname=Hans&nachname=Maier&submit1=Submit

So nun mal zu praktischen Beispielen: (Die Beispiele sind natürlich als kompletter download bereitsgestellt)

Zunächste einmal müssen wir in userem ASPfile ein Formular einbinden

<form>
 Vorname:<INPUT type="text" id=vorname name= vornamevalue=<%=Request.Form("Vorname")%>><br>
 Nachname:<INPUT type="text" id=nachname name= nachnamevalue=<%=Request.Form("Nachname")%>><br>
 <INPUT type="submit" value="Submit" id=submit1 name=submit1>
 <INPUT type="reset" value="Reset" id=reset1 name=reset1>
</form>



Je nachdem, was wir tun wollen, binden wir in unser Form Element folgende Attribute ein:

method=POST
method=GET

Also in der Form:

<form mehtod=POST>
 ...
</form>


Nächster Schritt:
Je nachdem, wo die Daten erscheinen sollen (Gleiche Seite oder andere Seite) müssen wir neben mehtod noch ein action Element hinzufügen, welches angibt, wohin die Daten überliefert werden sollen

<form mehtod=GET action=empfangen.asp>
 ...
</form>

 

Sollen die Daten auf die gleiche Seite überliefert werden, können wir uns "action" sparen. Wir bekommen wir die Daten wieder zu Gesicht oder besser gesagt auf unsere Seite? Hier müsssen wir unterscheiden, ob wir mit GET oder POST arbeiten.

In POST müssen wir unser Formular abfragen. Die Methode dazu ist:

Request.Form() die Ausgabe dazu mit Response.write()

 

<%
 Response.Write Request.Form() & "<br><hr>"
 Response.Write Request.Form("Vorname") & "<br>"
 Response.Write Request.Form("Nachname") & "<br>"
%>

Ob wir nun die Daten nun auf der gleichen Seite oder auf einer anderen anzeigen bleibt egal. Der Code dafür ist der gleiche.


Bei GET müssen wir ein bißchen anders vorgehen. Errinnern wir uns, hier werden die Daten in der URL überliefert.

<%
 Response.Write Request.QueryString() & "<br><hr>"
 Response.Write Request.QueryString("Vorname") & "<br>"
 Response.Write Request.QueryString("Nachname") & "<br>"
%>

Auch hier ist es natürlich wieder egal, ob die Daten auf der gleichen Seite oder auf einer anderen angezeigt werden sollen. Auch hier bleibt der Code der gleiche.

Im download finden sie dazu die kompletten Beispiele.

Viel Spaß damit!


Erfasst am: 05.07.2001 - Artikel-URL: http://www.devtrain.de/news.aspx?artnr=483
© Copyright 2003 ppedv AG - http://www.ppedv.de