Recomendado: varias formas de llamar a los procedimientos almacenados con parámetros Varias formas en que ASP llama a los procedimientos almacenados con los parámetros1 Este es también el método más fácil, dos parámetros de entrada, sin valor de retorno: set conection = server.createObject (ADODB.Connection) Connection.Pen Somedsn Connection.ExCute ProCname VarValue1, Varvalue2 'Borrar todos los objetos como nada, Retener recursos de recursos
Hay dos formas de implementar esta función:
1. Aplicación
Use el objeto de aplicación: si está haciendo una comunidad grande, es posible que deba generar una aplicación para cada ID de inicio de sesión. Aunque el diseño del programa será más simple, el usuario de inicio de sesión es demasiado y consume recursos del servidor. Nunca se recomienda aquí, porque el objeto de aplicación es fácil de generar cuando el usuario inicia sesión, pero para lograr la comprensión de que el usuario sale del sistema y aún no ha visto un mejor método ~
El siguiente es el contenido citado: <% ..... Obtenga nombre de usuario de nombre de usuario .... Si la aplicación (nombre de usuario) <> entonces Respuesta. Escribe Este usuario ya está conectado respuesta. final si Aplicación (nombre de usuario) = nombre de usuario '' almacenado el nombre de usuario del usuario %> |
Agregue el evento OneEd Session OneEd al archivo global, aplicación (isuserLogin) = falso cuando fuera de línea
Además, necesitamos detectar si el cable está suspendido. Hay un método especial, que es un elemento en el objeto del servidor
(Ver: http://community.csdn.net/expert/faq/faq_index.asp?id=815)
2. Base de datos ASP
Puede ser más complicado de hacer, pero es adecuado para sistemas con una gran cantidad de usuarios registrados.
Primero, cree una base de datos para el usuario: use el acceso para crear un nuevo OnlyTol8.mdb
Tabla de datos 1: los usuarios almacenan información de registro de usuarios
Establezca la tabla de datos a continuación: UID (Numeración automática) Nombre de usuario (Tipo de caracteres) UserPass (Tipo de caracteres)
Tabla de datos 2: OnlyLogin almacena información de inicio de sesión temporal del usuario
Se establece la siguiente tabla de datos: Olname (Tipo de caracteres) Oltime (Tipo de fecha) Olip (Tipo de caracteres)
Después de construir la base de datos, agregue datos manualmente a la tabla de nombre de usuario de la tabla de usuarios y agregue TOL8, agregue 111 a la tabla de pasos de usuario.
Hagamos la interfaz de inicio de sesión del usuario a continuación y copie el siguiente código para guardarlo en el archivo OnlyLogin.asp.
El siguiente es el contenido citado: <html> <Evista> <meta http-oquiv = content-type content = text/html; Charset = GB2312> <title> prohíbe iniciar sesión en diferentes regiones de la misma cuenta al mismo tiempo </title> </ablo> <Body> <form de nombre = form1 método = post accy = loginpost.asp> Nombre de usuario: <input name = username type = text id = username size = 15 maxLength = 5> Contraseña: <input name = userpass type = contraseña ID = userpass size = 15 maxLength = 15> <input type = enviar nombre = enviar valor = inicio de sesión> </form> </body> </html> |
Después de completar, cree un nuevo archivo Loginconn.asp y copie el siguiente código para guardar para conectarse a la base de datos.
El siguiente es el contenido citado: <% Dim conn_tol8 Dim CONN_T Dim MMDD MMDD = OnlyTol8.mdb Establecer conn_tol8 = server.CreateObject (ADODB.Connection) Conn_t = Provider = Microsoft.Jet.OLEDB.4.0; Data Source = & Server.Mappath (& Mmdd &) En el currículum de error siguiente Conn_tol8.open conn_t %> |
El siguiente es un archivo LoginPost.asp que también existe en este directorio. Esta es la clave. Mire cuidadosamente el siguiente código:
El siguiente es el contenido citado: <!-#include file = loginconn.asp-> <% '' Elimine el usuario que está activo dentro del tiempo de Maxte, Maxte se ha definido en el archivo Loginconn.asp Conn_tol8.execute (Eliminar de OnlyLogin Where Datediff ('' s '', oltime, ahora ())> & Maxtime &) '' ======================================================================================================================================================= Dim RS, TS, TXT, SQL, Nombre de usuario, UserPass if request.form (enviar) = Iniciar sesión entonces username = request.form (username) '' Obtenga el formulario Nombre de inicio de sesión del usuario userPass = request.form (userPass) '' Obtenga el formulario contraseña de inicio de sesión de usuario '' Dado que no estamos discutiendo los problemas de seguridad aquí, la contraseña del usuario no está encriptada Establecer rs = server.createObject (ADODB.RecordSet) sql = select * de usuarios donde username = '' & username & '' y userpass = '' & UserPass & '' Rs.open SQL, Conn_tol8,1,1 Si no es RS.EOF entonces Llame a ISOK (nombre de usuario) '' El nombre de usuario y la contraseña se llaman correctamente para el proceso, e ISOK se personalizará en el siguiente programa. demás Response.Write (<a href = javaScript: History.go (-1)> Nombre de usuario o contraseña desconocidos </a>) Respuesta.end () final si rs. Establecer RS = nada final si Sub ISOK (nombre de usuario) Dim olip '' La IP guardada por el nombre de usuario de inicio de sesión actual en la base de datos Dim Oltime '' La última vez que la página web se actualiza guardada por el nombre de usuario de inicio de sesión actual en la base de datos es un datos importantes para calcular si el usuario está en línea. Dim OLIP1 '' Registre el inicio de sesión actual del usuario en la IP, que se utiliza para distinguir si es la misma etiqueta del usuario. Olip1 = request.serverVariAbles (remota_addr) '' Obtenga la IP del usuario que envió la información de inicio de sesión Establecer ts = conn_tol8.execute (seleccione * de OnlyLogin donde olname = '' & UserName & '') Si no es TS.EOF, entonces "consulte la base de datos si este usuario ha iniciado sesión en información Oltime = ts (oltime) Olip = ts (Olip) Si Olip1 <> Olip y Datediff (S, Oltime, ahora ()) <MaxteMe entonces '' La oración anterior determina que si la IP del usuario registrada no es la última IP de usuario grabada en la base de datos y '' El último tiempo de actividad del usuario y el intervalo de tiempo actual no excede el número especificado de segundos. Confirme que el usuario esté actualmente en línea. Response.write <a href = javaScript: History.go (-1)> Este usuario está actualmente en línea, ¡no puede iniciar sesión en esta cuenta desde otros lugares! </a> Respuesta.end () demás '' De lo contrario, se determinará que el inicio de sesión será exitoso y el valor se pagará a la sesión Sesión (lgname) = username Sesión (LGPASS) = UserPass Respuesta.Redirect Loginok.asp Respuesta. final si demás '' Si la base de datos no tiene un registro de usuario de inicio de sesión, ejecute la siguiente declaración Dim LS Establecer ls = server.createObject (ADODB.RecordSet) ls.openselect * De OnlyLogin, Conn_tol8,2,2 ls.addnew ls (olname) = nombre de usuario LS (OLIP) = OLIP1 ls (oltime) = ahora () ls. Ls. Cerrar Establecer ls = nada '' Resolución de que el inicio de sesión es exitoso y pagado a la sesión Sesión (lgname) = username Sesión (LGPASS) = UserPass Respuesta.Redirect Loginok.asp Respuesta. final si Final sub %> |
Después de iniciar sesión con éxito, las hojas saltarán a Loginok.asp
El siguiente es el contenido citado: <estilo type = text/css> <!- Cuerpo {Color de fondo: #FF9900;} -> </style> < % If session (lgname) <> entonces %> ¡Inició sesión con éxito! ! ! A continuación se muestra el iframe que se escapa en la página web para actualizar la página web en el momento especificado para informar al servidor si está en línea o no. Para facilitar la distinción, usamos el blanco como color de fondo de la página web de marco <iframe border = 0 name = new_date marginwidth = 0 framespacing = 0 marginheight = 0 src = loginframe.asp FrameBorDer = 0 Noresize Width = 100 Scrolling = No Height = 30 vspale = 0> </frame> < % else %> |
No estás iniciado
El siguiente es el contenido citado: < % final si %> |
Qué hacer a continuación es LoginFrame.asp
El siguiente es el contenido citado: <!-#include file = loginconn.asp-> < % Conn_tol8.execute (actualizar sologin set oltime = '' & Now () & '' donde olname = '' & session (lgname) & '' ') %> <html> <fead> <meta http-oquiv = refresh content = <%= (maxteMe-5)%>; URL => </head> </html> |
Hasta ahora, el programa se completa, y la clave de este programa es determinar si el usuario está en línea.
Compartir: Implementación de la entrada de datos de lotes ASP La entrada por lotes se usa ampliamente en bases de datos, y hay muchos métodos para la entrada de lotes. A continuación, hablaré sobre cómo lo logré en función de mi aplicación real. El uso principal es el concepto de recopilación de formularios, que toma todos los datos en la recopilación a través del bucle. Teniendo en cuenta que es conveniente que todos lo vean, lo integré en una página. A continuación se muestra el código específico