Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi,

kann mir jemand sagen, wie ich feststellen kann, ob mir eine Variable per Formular oder per QueryString übergeben wird?

Folgendes Problem,

-habe ich Formular, bei dem ich nach einen Begriff in meiner Datenbank suchen kann

-eine zweite ASP-Seite zum Anzeigen des Suchergebnisses (welches auch soweit Funktioniert)

Die zweite ASP Seite soll jedoch die Ergebnisse nicht auf einer Seite Anzeigen, sonder es soll ein anzeigen auf mehreren Seiten möglich sein. In der Einfachen Form, wo der Suchbegriff ditekt im Quelltext festgelegt ist funtioniert das auch schon.

Mein Problem ist aber, beim ersten Aufruf bekommt die ASP-Seite die Variable per Formular übergeben, beim weiterblättern übergebe ich den Begriff per QueryString. Also muss beim neuen Aufruf abegfragt werden: bekomme ich die Variable per Formular oder per QueryString.

Hat jeman eine Idee. Bei Bedarf stelle ich den Quelltext zur verfügung.

Danke wink.gif

gruss jougli

Geschrieben

So wie ich das ´sehe, hast du 2 Möglichkeiten.

Entweder du machst dir auf jeder seite ein Formular auf, wo du die Variable (Name oder?) in ein Hidden Field speicherst und immer weiter übergibst, oder du speicherst die Variable in eine Session Variable mit

session("name")=

Kannst du dann mit session("name") abrufen.

am anfang der seite schreibst du dann

if session("name") = "" then

session("name") = request.form("name")

und dann dein normaler code

else

und dann dein normaler code

end if

sollte so funktionieren.

Wenn du willst kann ich auch deinen Code mal so abändern.

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

kann mir jemand sagen, wie ich feststellen kann, ob mir eine Variable per Formular oder per QueryString übergeben wird?

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

Mein Problem ist aber, beim ersten Aufruf bekommt die ASP-Seite die Variable per Formular übergeben, beim weiterblättern übergebe ich den Begriff per QueryString. Also muss beim neuen Aufruf abegfragt werden: bekomme ich die Variable per Formular oder per QueryString.

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von lapso:

Andere Idee: Lass das FORM doch per GET feuern... hm-hm?

Gruesse

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von lapso:

na, du läßt das FORM eben nicht mit METHOD=POST, sondern mit METHOD=GET auf dein Skript los.

Dann tritt der Fall, dass du zwischen Request.Form und Request.QueryString unterscheiden mußt, nicht mehr ein.

Wenn du das nicht willst, solltest du, wie gesagt,

Request.ServerVariables( "REQUEST_METHOD" )

abfragen, um zu entscheiden, ob du Request.Form oder Request.QueryString abfragen mußt.

Gruesse

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Milchi:

session("name")=

Kannst du dann mit session("name") abrufen.

am anfang der seite schreibst du dann

if session("name") = "" then

session("name") = request.form("name")

und dann dein normaler code

else

und dann dein normaler code

end if

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

Deinen werde ich aber auch noch austesten.

Probiern geht über Studiern.

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

Aber wie kann ich die Session beenden, wenn der Nutzer zurück zum Formular springt und neu suchen möchte?

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

Aber wie kann ich die Session beenden, wenn der Nutzer zurück zum Formular springt und neu suchen möchte?

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von lapso:

Da fangen deine Probleme schon an, und es wird immer umständlicher!

Übergib am besten alle Parameter per URL/FORM. Das bleibt übersichtlich und kontrollierbar.

Gruesse

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

Ok, werde Deinen Rat befolgen. Ich probiers heute gleich zu Hause aus. Und sag Dir dann obs funktioniert hat.

Geschrieben

Für den oben beschriebenen Fall interresiert es eigentlich gar nicht woher die Variablen kommen. Du kannst die übergeben Werte einfach mit Request("VARIABLENNAME") abfragen.

Damit bekommst Du die Werte sowohl von Request.Form als auch von Request.QueryString

Das einzige was ich nicht weiß, welches (Form oder QueryString) priorität bekommt falls ein und der selbe Variablenname mit unterschiedlichen Werten sowohl mit Form als auch in der URL übergeben wurden ... aber das lässt sich zur Not ja schnell testen.

Hoffe ich konnte helfen - greets, Smeagol

[nachtrag]

upsi! lesen sollte man können... mein Vorschlag wurde oben bereits erwähnt - sorry!

[Dieser Beitrag wurde von Smeagol am 15. März 2001 editiert.]

Geschrieben

Hi,

danke für die vielen tollen Ratschläge. Habe das mit Session ausprobiert (was nicht so perfekt lief) und das mit Get, statt Post (was wunderbar funzt hat).

Aber ist es bei Persönlichen Daten nicht ein Problem, wenn die Daten an die URL angehängt werden(wegen der bösen Leute)?

gruss jougli

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Smeagol:

Du kannst die übergeben Werte einfach mit Request("VARIABLENNAME") abfragen.

Damit bekommst Du die Werte sowohl von Request.Form als auch von Request.QueryString

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von jougli:

Aber ist es bei Persönlichen Daten nicht ein Problem, wenn die Daten an die URL angehängt werden(wegen der bösen Leute)?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...