Recommandé: plusieurs façons d'appeler les procédures stockées avec des paramètres Plusieurs façons d'appelle ASP les procédures stockées avec des paramètres1 Il s'agit également de la méthode la plus simple, deux paramètres d'entrée, pas de valeur de retour: set connection = server.CreateObject (adodb.connection) connection.open SomeDdsn Connection.
Il existe deux façons d'implémenter cette fonction:
1. Application
Utilisez l'objet d'application: si vous faites une grande communauté, vous devrez peut-être générer une application pour chaque ID de connexion. Bien que la conception du programme soit plus simple, l'utilisateur de connexion est trop nombreux et consomme des ressources de serveur. Il n'est jamais recommandé ici, car l'objet d'application est facile à générer lorsque l'utilisateur se connecte, mais pour réaliser que l'utilisateur quitte le système et n'a pas encore vu une meilleure méthode ~
Ce qui suit est le contenu cité: <% ..... Obtenez le nom d'utilisateur du nom d'utilisateur .... Si application (nom d'utilisateur) <> alors réponse.WRITE Cet utilisateur est déjà connecté réponse. terminer si Application (nom d'utilisateur) = nom d'utilisateur '' stocké le nom d'utilisateur de l'utilisateur %> |
Ajouter un événement Session Oneend au fichier global, application (Isuserlogin) = false en dehors de la ligne
De plus, nous devons détecter si le fil est suspendu. Il existe une méthode spéciale, qui est un élément dans l'objet serveur
(Voir: http://community.csdn.net/expert/faq/faq_index.asp?id=815)
2. Base de données ASP
Il peut être plus compliqué à faire, mais il convient aux systèmes avec un grand nombre d'utilisateurs connectés.
Tout d'abord, créez une base de données pour l'utilisateur - Utilisez l'accès pour créer un nouveau uniquementtol8.mdb
Tableau de données 1: les utilisateurs stockent les informations d'enregistrement des utilisateurs
Définissez le tableau de données ci-dessous: UID (numérotation automatique) Nom d'utilisateur (type de caractère) UserPass (type de caractère)
Tableau de données 2: Seule les stores des informations de connexion temporaire de l'utilisateur
Le tableau de données suivant est défini: olname (type de caractère) oltime (type de date) olip (type de caractère)
Une fois la base de données construite, ajoutez des données manuellement à la table du nom d'utilisateur des utilisateurs et ajoutez TOL8, ajoutez 111 à la table UserPass.
Passons à l'interface de connexion utilisateur ci-dessous et copiez le code suivant pour l'enregistrer dans le fichier uniquementlogin.asp.
Ce qui suit est le contenu cité: <html> <adal> <meta http-equiv = contenu contenu contenu = text / html; charse = gb2312> <Title> Interdire la connexion dans différentes régions du même compte en même temps </TITAL> </ head> <body> <form name = form1 méthode = post-action = loginPost.asp> Nom d'utilisateur: <input name = username type = text id = username size = 15 maxLength = 5> Mot de passe: <Name Input = UserPass Type = Mot de passe ID = UserPass Size = 15 MaxLength = 15> <entrée type = soumettre name = soumettre une valeur = connexion> </ form> </docy> </html> |
Une fois terminé, créez un nouveau fichier LoginConn.asp et copiez le code suivant pour enregistrer pour se connecter à la base de données.
Ce qui suit est le contenu cité: <% Dim Conn_tol8 Dim Conn_t MMDD DIM mmdd = onlytol8.mdb Définir Conn_tol8 = Server.CreateObject (ADODB.Connection) Conn_t = Provider = Microsoft.Jet.oledb.4.0; Data Source = & Server.Mappath (& Mmdd &) sur l'erreur reprendre ensuite Conn_tol8.open Conn_t%> |
Ce qui suit est un fichier LoginPost.asp qui existe également dans ce répertoire. C'est la clé. Regardez attentivement le code suivant:
Ce qui suit est le contenu cité: <! - # Inclure File = LoginConn.asp -> <% '' Supprimer l'utilisateur actif dans le temps maxtime, maxtime a été défini dans le fichier LoginConn.asp Conn_tol8.execute (Supprimer de OnlyLogin Where Datediff ('' S '', Oltime, Now ())> & maxtime &) '' ==================================================================================================. DIM RS, TS, TXT, SQL, Nom d'utilisateur, UserPass Si demande.form (soumi) = Connexion alors username = request.form (nom d'utilisateur) '' Obtenez le nom de connexion du formulaire userpass = request.form (userpass) '' Obtenez le mot de passe de connexion utilisateur du formulaire '' Puisque nous ne discutons pas ici des problèmes de sécurité, le mot de passe de l'utilisateur n'est pas crypté Set rs = server.createObject (adodb.recordSet) SQL = SELECT * FROM Users Where Username = '' & Username & '' et userpass = '' & userpass & '' Rs.Open SQL, Conn_tol8,1,1 Si ce n'est pas Rs.Eof alors Appelez ISOK (nom d'utilisateur) '' Le nom d'utilisateur et le mot de passe sont appelés correctement pour le processus, et ISOK sera personnalisé dans le programme suivant. autre Réponse.write (<a href = javascript: history.go (-1)> nom d'utilisateur ou mot de passe inconnu </a>) Réponse.end () terminer si Rs.Close Définir RS = rien terminer si Sub Isok (nom d'utilisateur) Dim olip '' L'IP enregistrée par le nom d'utilisateur de connexion actuel dans la base de données Dim oltime '' La dernière fois que la page Web est actualisée enregistrée par le nom d'utilisateur de connexion actuel dans la base de données est une données importante pour calculer si l'utilisateur est en ligne. DIM OLIP1 '' Enregistrez la connexion actuelle de l'utilisateur à l'IP, qui est utilisée pour distinguer s'il s'agit de l'étiquette du même utilisateur. OLIP1 = request.servervariables (Remote_Addr) '' Obtenez la propriété intellectuelle de l'utilisateur qui a soumis les informations de connexion Set ts = conn_tol8.execute (select * from boi uniquement où olname = '' & username & '') Si ce n'est pas Ts.Eof, alors '' Interroge la base de données si cet utilisateur s'est connecté aux informations Oltime = ts (oltime) Olip = ts (olip) Si olip1 <> olip et dadiff (s, oltime, maintenant ()) <maxtime alors '' La phrase précédente détermine que si la propriété intellectuelle connectée n'est pas la dernière IP utilisateur enregistrée dans la base de données et '' Le dernier temps d'activité de l'utilisateur et l'intervalle de temps actuel ne dépasse pas le nombre spécifié de secondes. Confirmez que l'utilisateur est actuellement en ligne. Réponse.write <a href = javascript: history.go (-1)> Cet utilisateur est actuellement en ligne, vous ne pouvez pas vous connecter à ce compte depuis d'autres endroits! </a> Réponse.end () autre '' Sinon, il sera déterminé que la connexion sera réussie et que la valeur sera versée à la session Session (LGNAME) = Nom d'utilisateur Session (lgpass) = userPass Réponse.redirect Loginok.asp Réponse. terminer si autre '' Si la base de données n'a pas d'enregistrement utilisateur de connexion, exécutez l'instruction suivante Sombre LS Set ls = server.createObject (adodb.recordSet) LS.Openselect * de OnlyLogin, Conn_tol8,2,2 ls.addnew ls (olname) = nom d'utilisateur ls (olip) = olip1 ls (oltime) = maintenant () ls.update ls. Définir ls = rien `` Résolution que la connexion est réussie et payée à la session Session (LGNAME) = Nom d'utilisateur Session (lgpass) = userPass Réponse.redirect Loginok.asp Réponse. terminer si Terminer sous%> |
Après avoir enregistré avec succès, les feuilles passeront à Loginok.asp
Ce qui suit est le contenu cité: <style type = text / css> <! - corps {fond de fond: # ff9900;} -> </ style> <% Si session (LGNAME) <> puis%> Vous vous êtes connecté avec succès! ! ! Vous trouverez ci-dessous l'IFRAME qui se faufile dans la page Web pour actualiser la page Web à l'heure spécifiée pour signaler au serveur, que vous soyez en ligne ou non. Afin de faciliter la distinction, nous utilisons le blanc comme couleur d'arrière-plan de la page Web du cadre <iframe border = 0 name = new_date marginwidth = 0 tramespacing = 0 marginight = 0 src = loginframe.asp frameborder = 0 woresize width = 100 défilement = pas de hauteur = 30 vSpale = 0> </ iframe> <% else%> |
Vous n'êtes pas connecté
Ce qui suit est le contenu cité: <% fin si%> |
Que faire ensuite est LoginFrame.asp
Ce qui suit est le contenu cité: <! - # Inclure File = LoginConn.asp -> <% Conn_tol8.Execute (Mettez à jour uniquement Oltime = '' & Now () & '' WHERE OLNAME = '' & Session (LGNAME) & '')%> <html> <éadfr> <méta http-equiv = refresh contenu = <% = (maxtime-5)%>; url => </ head> </html> |
Jusqu'à présent, le programme est terminé et la clé de ce programme est de déterminer si l'utilisateur est en ligne.
Partager: mise en œuvre de la saisie des données ASP Batch L'entrée par lots est largement utilisée dans les bases de données, et il existe de nombreuses méthodes pour l'entrée par lots. Ensuite, je vais parler de la façon dont je l'ai réalisé en fonction de ma demande réelle. L'utilisation principale est le concept de collecte de formulaires, qui prend toutes les données de la collection via Loop. Étant donné qu'il est pratique pour tout le monde de le voir, je l'ai intégré à une seule page. Vous trouverez ci-dessous le code spécifique