Ir para conteúdo
Fórum Script Brasil
  • 0

Validar Login...


fdirk

Pergunta

Oi Pessoal!

Tenho uma tabela onde salvo o IP e o Login do usuário.

Problema:

Criei um método q salva direitinho o IP e o nome q o usuário preenche na caixa de texto.

Só q eu queria somente salvar um vez o mesmo IP.

Exemplo, digamos q já tenham esses dados salvos na tabela:

IP - Login

00.200.100.100 - Fulano

00.200.100.2 - Beltrano

Caso o IP "00.200.100.100" logar novamente no sistema não salve na tabela, somente ignore.

Me indicaram usar o "Scripting.Dictionary", só não estou sabendo como.

E se verificar q o IP já existe na tabela não permitir q o usuário faça o Login novamente,´aparecendo então a Mensagem de Boas Vinda com o 'login' dele.

Código q uso para Login:

<% 'Parte do código q ainda não sei como fazer

Se já existe na tabela então

Response.write ("<h6 class='tit5'>&nbsp; &nbsp; &nbsp; Seja Bem Vindo, " & Login & "!</h6>")

Senão

if request.querystring("nome") <> "" then
Response.write ("<h6 class='tit5'>&nbsp; &nbsp; &nbsp; Seja Bem Vindo, " & request.querystring("nome") & "!</h6>")
 %>
<form method="post" action="logout.asp">
<input type="submit" value=" sair " class="btsubmit"></h6></font>
</form>
<%
else
%>
<table>
<form method="post" action="login.asp">
<div><h6><font color="#0D3F99">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Login: </div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input size="10" type="text" name="nome">&nbsp; 
<input type="submit" value=" login " class="btsubmit"></h6></font>
</table>
</form>
<%
end if
%>
Login.asp
<html>
<body>
<!-- #include file="banco/banco.asp" -->
<%
session("sinal")=true
dim dados_aux
dim nome
nome = ""
response.buffer = false
'início do conteúdo do site

    dados_aux = Limpacampo(Request.Form("nome"))
    nome = dados_aux
    
lixo = Identidade(nome)
response.redirect("default.asp?nome=" & dados_aux)

Function Limpacampo(campo)
    campolimpo = LimpaHTML(campo)
    campolimpo = Replace(campolimpo, chr(13) & chr(10), "<br>")
    Limpacampo = campolimpo
End Function
%>
</body>
</html>
Function:
Function Identidade(byval nome)
    if session("sinal") then  
        arquivo = Server.mappath("/SS/banco/identidade.txt")
        Dim ObjFSO, ObjFile, ObjStream, IpNum
    
        Const forReading = 1, forWriting = 2, forAppending = 8
        Const TriDef = -2, TriTrue = -1, TriFalse = 0
    
        Set ObjFSO = CreateObject("Scripting.FileSystemObject")
    
        If ObjFSO.FileExists(arquivo) = False Then
             ObjFSO.CreateTextFile (arquivo)
        End If

           Set ObjFile = ObjFSO.GetFile(arquivo)
           Set ObjStream = ObjFile.OpenAsTextStream(forAppending, TriDef)

                    'salva IP
           Usuario = Request.ServerVariables("REMOTE_ADDR")
      ObjStream.WriteLine Usuario & "    " & nome
        ObjStream.Close
   end if
End Function

Editado por fdirk
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Você teria que fazer uma consulta na tabela para verificar se o usuário já foi cadastrado

set sql=Conexao.Execute("Select * from tabela where usuario='" & login & "' or ip='" & ip & "'")
if (sql.EOF) then
'Não existe um usuário com nome ou I.P. igual
else
'Já existe alguém com usuário ou I.P. igual
end if

Link para o comentário
Compartilhar em outros sites

  • 0
Você teria que fazer uma consulta na tabela para verificar se o usuário já foi cadastrado

set sql=Conexao.Execute("Select * from tabela where usuario='" & login & "' or ip='" & ip & "'")
if (sql.EOF) then
'Não existe um usuário com nome ou I.P. igual
else
'Já existe alguém com usuário ou I.P. igual
end if

Para esse caso eu saberia, mas no q estou trabalhando o pessoal trabalha com tabela.txt.

você pode ter uma idéia melhor através da Function q eu postei.

Gostaria de saber como poderia resolver nesse meu caso.

Me indicaram usar o "Scripting.Dictionary" porque parece q ele salva por cima da duplicação. Mas não estou sabendo onde devo usá-lo nos códigos q forneci.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...