Recomendado: solución de consulta múltiple ASP A menudo encontramos múltiples problemas de consulta, y las largas declaraciones de SQL a menudo confunden a los monjes. Especialmente cuando la parte del cliente llena las condiciones de consulta, será aún más difícil usar métodos ordinarios. Lo siguiente usa hábilmente la identidad de donde 1 = 1 (de hecho, es mucho, solo que tenga un valor de verdad) para resolver este problema. Resumen de texto 'Título de la información del asunto'com
¿Cómo limitar múltiples presentaciones repetidas de formularios en ASP? En Internet, encontramos innumerables formularios todos los días, y también vemos que la mayoría de ellos no restringen a los usuarios que envíen el mismo formulario varias veces. La falta de tales restricciones a veces puede producir algunos resultados inesperados, como suscripción duplicada a los servicios de correo electrónico o la votación duplicada.
Este artículo describe una forma simple de evitar que los usuarios envíen el mismo formulario varias veces durante la sesión actual en una aplicación ASP. Consiste principalmente en cuatro subrutinas. En aplicaciones más simples, solo necesita colocar estos códigos en el archivo incluir y cotizarlos directamente; Para esos entornos más complejos, daremos algunas sugerencias de mejora al final del artículo.
1. Proceso de trabajo básico
A continuación, discutimos estas cuatro subrutinas a su vez.
(ASP restringe múltiples presentaciones repetidas de formularios) Inicialización
Aquí queremos guardar dos variables en el objeto de sesión, entre las cuales:
⑴ Cada forma corresponde a un identificador único llamado FID, y se usa un contador para que este valor sea único.
⑵ Siempre que se presente un formulario con éxito, su FID debe almacenarse en un objeto de diccionario.
Utilizamos un proceso dedicado para inicializar los datos anteriores. Aunque cada subrutina lo llamará en el futuro, en realidad solo se ejecutará una vez durante cada sesión:
El siguiente es el contenido citado: Sub inicializefid () Si no es ISObject (sesión (fidlist)), entonces Set session (fidlist) = server.createObject (scripting.dictionary) Sesión (fid) = 0 Final si Final |
(Restringir múltiples presentaciones repetidas de formularios en ASP) Identificador único para generar formularios
La siguiente función GenerateFid () se usa para generar un indicador único para el formulario. La función primero agrega el valor FID por 1 y luego lo devuelve:
El siguiente es el contenido citado: Function generateFid () Inicializefid Sesión (fid) = session (fid) 1 GenerateFid = Session (FID) Función final |
(Múltiples envíos repetidos de formularios restringidos en ASP) Registre el formulario enviado
Cuando el formulario se envía correctamente, su identificador único está registrado en el objeto del diccionario:
El siguiente es el contenido citado: Sub Registerfid () Dim strfid Inicializefid strfid = request (fid) Sesión (fidlist) .add strfid, ahora () Final |
(ASP restringe múltiples presentaciones repetidas de los Formularios 4) verifique si el formulario se envía repetidamente
Antes de procesar formalmente un formulario enviado por el usuario, debe verificar si su FID está registrado en el objeto del diccionario. La siguiente función checkfid () se usa para completar este trabajo. Si se ha registrado, devuelve falso, de lo contrario devuelve verdadero:
El siguiente es el contenido citado: Función checkfid () Dim strfid Inicializefid strfid = request (fid) CheckFid = no session (fidlist) .exists (strfid) Función final |
2. Cómo usar
Hay dos lugares donde se utilizan las funciones anteriores, a saber, cuando la generación de formularios y el procesamiento de resultados. Suponiendo que las cuatro subrutinas anteriores se hayan colocado en los formulario del archivo de inclusión. El proceso de procesamiento que describe es adecuado para la mayoría de las aplicaciones ASP:
El siguiente es el contenido citado: < %Opción explícita %> <!-#include file = forms.inc <html> <Evista> <title> Test de envío de formulario </title> < /Cabeza <Body> < % Si la solicitud (fid) = entonces Generateform Demás Proceso de proceso Final si %> </body> < /Html> |
GenerateForm es responsable de generar el formulario, y el formulario debe contener un FID oculto, como:
El siguiente es el contenido citado: < % Sub GenerateForm () %> <Form Action = < %= request.ServerVariAbles (PATH_INFO) %> Método = get> <input type = Hidden name = fid value = < %= generateFid () %>> <input type = text name = param1 value => <input type = enviar value = OK> </form> < % Final %> |
ProcessForm es responsable del procesamiento de contenido enviado a través del formulario, pero antes del procesamiento, primero debe llamar a checkfid () para verificar si se ha enviado el formulario actual. La clase de código es tales como:
El siguiente es el contenido citado: < % Sub Processform () Si checkfid () entonces Respuesta. Escribe lo que escribes es |
Compartir: ¿Cómo generar HTML en ASP? Ya hay muchos sistemas de noticias que generan HTML, pero todos usan plantillas. Esta función guarda el código HTML generado por la página ASP en un archivo HTML, por lo que no es necesario cambiar la página original para completar fácilmente un sistema de noticias que genera HTML. ^ _^ Dado que el código es relativamente corto, el siguiente contenido citado no se comenta aquí: % 'Cuando el objetivo