Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ASP: Abfrage ob Variable aus QueryString oder Formular

Empfohlene Antworten

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

Hi,

leg mal hier den Quellcode ab, vielleicht kann ich dir helfen-

Hier Bitte!

jougli

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.

Kannst du gerne tun, ich kann es eh erst zu Hause ausprobieren, habe momentan nämlich viel zu tun.

Ich sag Dir dann obs geklappt hat. OK?

gruss jougli wink.gif

<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?

<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.

<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

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

Sorry ab das Verstehe ich nicht. Wie feuern?

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

Sorry ab das Verstehe ich nicht. Wie feuern?

<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

<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

<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.

<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?

<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?

<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

<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.

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.]

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

<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

<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)?

Achsoo,

na ja, dann muss man eben immer versuchen den besten Weg zu finden.

Bis dann wink.gif

gruss jougli

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.