Recomendado: várias maneiras de chamar procedimentos armazenados com parâmetros Várias maneiras pelas quais as chamadas asp armazenaram procedimentos armazenados com parâmetros1 Este também é o método mais fácil, dois parâmetros de entrada, sem valor de retorno: Set Connection = server.createObject (adodb.connection) conexão.open somedsn conexão.execute procname varValue1, varvValue2 'limpe todos os objetos como nada, livre recursos
Existem duas maneiras de implementar esta função:
1. Aplicação
Use o objeto de aplicação: se você estiver fazendo uma comunidade grande, pode ser necessário gerar um aplicativo para cada ID de login. Embora o design do programa seja mais simples, o usuário de login é muitos e consome recursos do servidor. Nunca é recomendado aqui, porque o objeto de aplicativo é fácil de gerar quando o usuário faz login, mas para obter a percepção de que o usuário sai do sistema e ainda não viu um método melhor ~
A seguir, o conteúdo citado: <% ..... Obtenha nome de usuário Nome de usuário .... Se aplicação (nome de usuário) <> então Response.Write Este usuário já está conectado resposta.END final se Aplicativo (nome de usuário) = nome de usuário '' armazenou o nome de usuário do usuário %> |
Adicione o evento OneEnd da sessão ao arquivo global, Application (isuserlogin) = false quando offline
Além disso, precisamos detectar se o fio está suspenso. Existe um método especial, que é um item no objeto do servidor
(Veja: http://comunity.csdn.net/expert/faq/faq_index.asp?id=815)
2. Banco de dados ASP
Pode ser mais complicado de fazer, mas é adequado para sistemas com um grande número de usuários registrados.
Primeiro, crie um banco de dados para o usuário - use o acesso para criar um novo somentetol8.mdb
Tabela 1 de dados: os usuários armazenam informações de registro do usuário
Defina a tabela de dados abaixo: UID (numeração automática) Nome de usuário (tipo de caractere) UserPass (tipo de caractere)
Tabela 2 de dados: Somente o SomenteLogin armazena informações de login temporário do usuário
A tabela de dados a seguir é definida: Olname (tipo de caractere) oltime (tipo de data) olip (tipo de caractere)
Depois que o banco de dados for construído, adicione dados manualmente à tabela de nome de usuários e adicione TOL8, adicione 111 à tabela do usuário do usuário.
Vamos fazer a interface de login do usuário abaixo e copiar o código a seguir para salvá -lo no arquivo somenteLogin.asp.
A seguir, o conteúdo citado: <html> <head> <meta http-equiv = content-type content = text/html; charset = gb2312> <título> Proibir o login em diferentes regiões da mesma conta ao mesmo tempo </title> </head> <Body> <nome de forma = form1 método = pós -ação = loginpost.asp> Nome de usuário: <nome de entrada = nome de usuário = ID do texto = tamanho do nome de usuário = 15 maxLength = 5> Senha: <Nome de entrada = UserPass Type = Senha ID = Size do UserPass = 15 MaxLength = 15> <Tipo de entrada = Nome de envio = Valor de envio = login> </morm> </body> </html> |
Após a conclusão, crie um novo arquivo loginconn.asp e copie o código a seguir para salvar para conectar -se ao banco de dados.
A seguir, o conteúdo citado: <% Dim Conn_Tol8 Dim Conn_T Dim Mmdd MMDD = OnlyTol8.mdb Definir conn_tol8 = server.createObject (adodb.connection) Conn_t = provider = microsoft.jet.oledb.4.0; fonte de dados = & server.mappath (& mmdd &) em erro de erro em seguida Conn_tol8.open conn_t %> |
A seguir, é apresentado um arquivo loginpost.asp que também existe neste diretório. Esta é a chave. Veja o seguinte código com cuidado:
A seguir, o conteúdo citado: <!-#inclua arquivo = loginconn.asp-> <% '' Exclua o usuário que está ativo dentro do tempo MaxTime, o MaxTime foi definido no arquivo Loginconn.asp Conn_tol8.execute (exclua de somenteLogin where datediff ('' s '', oltime, agora ())> & maxtime &) '' =====================================================================================================================================================roeóusroeóó ,óóóóó sureeeeóó quee surroee ResópróSeerororoónsas fundo fundo fundo fundo, fundo fundo, fundo, fundo, fundo do fundo do paló fundo do fundo fundo do fundo fundo do fundo fundo do paló fundo fundo fundo do fundo fundo do fundo fundo do fundo fundo do docum fundo do fundo do fundo do fundo delineado no local do São Paulo Dim RS, TS, TXT, SQL, nome de usuário, UserPass se request.form (envie) = login então nome de usuário = request.form (nome de usuário) '' Obtenha o nome de login do usuário do formulário userpass = request.form (userpass) '' Obtenha o usuário de login de usuário senha '' Como não estamos discutindo questões de segurança aqui, a senha do usuário não é criptografada Set rs = server.createObject (adodb.recordset) sql = selecione * de usuários onde o nome de usuário = '' e nome de usuário & '' e userPass = '' e UserPass & '' ' Rs.Open SQL, Conn_Tol8,1,1 Se não Rs.eof então Ligue para Isok (nome de usuário) '' O nome de usuário e a senha são chamados corretamente para o processo, e o ISOK será personalizado no programa a seguir. outro Response.write (<a href = javascript: history.go (-1)> nome de usuário ou senha desconhecidos </a>) Response.end () final se rs.close Defina rs = nada final se Sub Isok (nome de usuário) Dim Olip '' o IP salvo pelo nome de usuário de login atual no banco de dados Dim oltime '' Na última vez em que a página da web é atualizada salva pelo nome de usuário de login atual no banco de dados é um dados importante para calcular se o usuário está online. Dim OLIP1 '' Registre o login atual do usuário no IP, que é usado para distinguir se é o mesmo rótulo do usuário. Olip1 = request.servervariables (remote_addr) '' Obtenha o IP do usuário que enviou as informações de login Definir ts = conn_tol8.execute (selecione * de somenteLogin onde olname = '' e nome de usuário & '') Se não for, ts.eof, então '' consulte o banco de dados se esse usuário fez login na informação Oltime = ts (oltime) Olip = ts (olip) Se olip1 <> olip e datediff (s, oltime, agora ()) <maxtime então '' A frase anterior determina que, se o IP do usuário conectado não for o último IP do usuário gravado no banco de dados e '' O último tempo de atividade do usuário e o intervalo de tempo atual não excedem o número especificado de segundos. Confirme que o usuário está atualmente online. Response.write <a href = javascript: history.go (-1)> Este usuário está atualmente online, você não pode fazer login nessa conta de outros lugares! </a> Response.end () outro '' Caso contrário, será determinado que o login será bem -sucedido e o valor será pago à sessão Sessão (lgname) = nome de usuário Sessão (LGPass) = UserPass Response.Redirect Loginok.asp Resposta.END final se outro '' Se o banco de dados não tiver registro de usuário de login, execute a seguinte instrução Dim ls SET LS = server.createObject (adodb.recordset) LS.OPENSELECT * de OnlyLogin, conn_tol8,2,2 LS.Addnew LS (olname) = nome de usuário LS (OLIP) = OLIP1 ls (oltime) = agora () LS.UPDATE LS.CLOSE Definir ls = nada '' Resolução de que o login é bem -sucedido e pago à sessão Sessão (lgname) = nome de usuário Sessão (LGPass) = UserPass Response.Redirect Loginok.asp Resposta.END final se END SUB %> |
Depois de fazer login com sucesso, as folhas saltarão para Loginok.asp
A seguir, o conteúdo citado: <tipo de estilo = texto/css> <!- Corpo {Background-Color: #FF9900;} -> </style> < % Se sessão (lgname) <> então %> Você logou com sucesso! ! ! Abaixo está o iframe que entra na página da web para atualizar a página da web no horário especificado para reportar ao servidor, esteja você online ou não. Para facilitar a distinção, usamos o branco como a cor de fundo da página da web do quadro <borda do iframe = 0 nome = new_date marginWidth = 0 Framespacing = 0 marginHeight = 0 src = loginframe.asp frameborder = 0 noresize largura = 100 rolagem = sem altura = 30 vspale = 0> </frame> < % else %> |
Você não está conectado
A seguir, o conteúdo citado: < % final se %> |
O que fazer a seguir é loginframe.asp
A seguir, o conteúdo citado: <!-#inclua arquivo = loginconn.asp-> < % Conn_tol8.execute (atualização somenteLogin set oltime = '' & agora () & '' where olname = '' & session (lgname) & '') %> <html> <head> <meta http-equiv = refresh content = <%= (maxime-5)%>; url => </ad Head> </html> |
Até agora, o programa é concluído e a chave para este programa é determinar se o usuário está online.
Compartilhar: Implementação da entrada de dados em lote ASP A entrada em lote é amplamente usada em bancos de dados e existem muitos métodos para entrada em lote. Em seguida, falarei sobre como consegui isso com base no meu aplicativo real. O uso principal é o conceito de coleção de formulários, que leva todos os dados da coleção através do loop. Considerando que é conveniente para que todos vejam, eu o integrasse em uma página. Abaixo está o código específico