Empfohlen: ASP Multiple Query -Lösung Wir stoßen oft auf mehrere Abfrageprobleme, und lange SQL -Aussagen machen Mönche oft verwirrt. Insbesondere wenn der Client -Teil Abfragebedingungen ausfüllt, ist es noch schwieriger, normale Methoden anzuwenden. Im Folgenden wird die Identität von 1 = 1 geschickt verwendet (in der Tat ist es viel, lassen Sie es einfach einen Wert von True haben), um dieses Problem zu lösen. Textzusammenfassung 'Betreff Informationstitel'com
Wie begrenzen Sie mehrere wiederholte Einreichungen von Formularen in ASP? Im Internet begegnen wir jeden Tag auf unzählige Formulare, und wir sehen auch, dass die meisten von ihnen Benutzer nicht mehrmals das gleiche Formular einreichen. Das Fehlen solcher Einschränkungen kann manchmal einige unerwartete Ergebnisse erzielen, z. B. das doppelte Abonnement für E -Mail -Dienste oder doppelte Abstimmung.
In diesem Artikel wird eine einfache Möglichkeit beschrieben, um zu verhindern, dass Benutzer während der aktuellen Sitzung in einer ASP -Anwendung das gleiche Formular mehrmals einreichen. Es besteht hauptsächlich aus vier Subroutinen. In einfacheren Anwendungen müssen Sie diese Codes lediglich in die Einfügungsdatei einfügen und diese direkt angeben. Für diese komplexeren Umgebungen werden wir am Ende des Artikels einige Verbesserungsvorschläge machen.
1. Grundarbeitsprozess
Als nächstes diskutieren wir diese vier Unterprogramme nacheinander.
(ASP beschränkt mehrere wiederholte Einreichungen von Formularen) Initialisierung
Hier möchten wir zwei Variablen im Sitzungsobjekt speichern, darunter:
⑴ Jede Form entspricht einer eindeutigen Kennung namens FID, und ein Zähler wird verwendet, um diesen Wert eindeutig zu machen.
⑵ Wenn ein Formular erfolgreich eingereicht wird, muss seine FID in einem Wörterbuchobjekt gespeichert werden.
Wir verwenden einen speziellen Prozess, um die obigen Daten zu initialisieren. Obwohl jede Unterroutine es in Zukunft aufrufen wird, wird sie tatsächlich nur einmal in jeder Sitzung ausgeführt:
Das Folgende ist der zitierte Inhalt: Sub initializefid () Wenn nicht IsObject (Session (FIDLILT)), dann dann SET Session (FIDLIST) = Server.CreateObject (scripting.Dictionary) Sitzung (fid) = 0 Ende wenn Ende sub |
(Beschränken Sie mehrere wiederholte Einreichungen von Formularen in ASP) eindeutige Kennung für die Generierung von Formularen
Die folgende Funktion generateFid () wird verwendet, um ein eindeutiges Flag für das Formular zu erzeugen. Die Funktion fügt zuerst den FID -Wert um 1 hinzu und gibt ihn dann zurück:
Das Folgende ist der zitierte Inhalt: Funktion generateFID () Initializefid Sitzung (FID) = Sitzung (FID) 1 Generatefid = session (fid) Endfunktion |
(Mehrere wiederholte Einreichungen von eingeschränkten Formularen in ASP) Registrieren Sie das eingereichte Formular
Wenn das Formular erfolgreich eingereicht wird, ist seine eindeutige Kennung im Wörterbuchobjekt registriert:
Das Folgende ist der zitierte Inhalt: Sub registerFID () Dim Strfid Initializefid strfid = request (fid) Sitzung (FIDLIST) .Add Strfid, jetzt () Ende sub |
(ASP beschränkt mehrere wiederholte Einreichungen von Formularen 4) Überprüfen Sie, ob das Formular wiederholt eingereicht wird
Bevor Sie ein vom Benutzer formell verarbeitender Formular formell verarbeiten, sollten Sie überprüfen, ob die FID im Wörterbuchobjekt registriert ist. Die folgende Checkfid () -Funktion wird verwendet, um diese Arbeiten zu erledigen. Wenn es registriert wurde, gibt es falsche zurück, andernfalls gibt es True zurück:
Das Folgende ist der zitierte Inhalt: Funktion checkfid () Dim Strfid Initializefid strfid = request (fid) Checkfid = nicht seision (fidlist) .exists (strfid) Endfunktion |
2. wie man benutzt
Es gibt zwei Orte, an denen die oben genannten Funktionen verwendet werden, nämlich bei der Erzeugung von Formularerzeugung und Ergebnis. Unter der Annahme, dass die oben genannten vier Subroutinen in die Einschlussdateiformen eingegeben wurden, entscheidet der folgende Code, ob ein Formular generiert oder die Formulareergebnisse basierend auf dem FID -Wert verarbeitet werden sollen. Der von ihm beschriebene Verarbeitungsprozess ist für die meisten ASP -Anwendungen geeignet:
Das Folgende ist der zitierte Inhalt: < %Option explizit %> <!-#include File = forms.inc <html> <kopf> <title> Formulare Test </title> < /Kopf <body> < % Wenn Anfrage (fid (fid) = dann Erzeugen Anders Prozessform Ende wenn %> < /Body> < /Html> |
GenerateForm ist für die Erzeugung des Formulars verantwortlich, und das Formular sollte eine versteckte FID enthalten, wie z. B.:
Das Folgende ist der zitierte Inhalt: < % Sub generateForm () %> <form action = < %= request.servervariables (path_info) %> method = get> <Eingabetyp = Hidden name = fid value = < %= generateFID () %>> <Eingabe type = text name = param1 value => <Eingabe type = value = OK> < /form> < % Ende sub %> |
ProcessForm ist für die Verarbeitung von Inhalten verantwortlich, die über das Formular übermittelt wurden, aber vor der Verarbeitung sollte es zuerst checkfid () anrufen, um zu überprüfen, ob das aktuelle Formular eingereicht wurde. Die Codeklasse lautet wie:
Das Folgende ist der zitierte Inhalt: < % Sub Processform () Wenn checkfid () dann Antwort. Schreiben Sie, was Sie eingeben, ist |
Share: Wie generiere ich HTML in ASP? Es gibt bereits viele Nachrichtensysteme, die HTML generieren, aber alle verwenden Vorlagen. Diese Funktion speichert den von der ASP -Seite generierten HTML -Code in einer HTML -Datei, sodass die Originalseite nicht ändern muss, um ein Nachrichtensystem zu vervollständigen, das HTML generiert. ^ _^ Da der Code relativ kurz ist, wird der folgende zitierte Inhalt hier nicht kommentiert: % 'Wenn das Ziel