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

response.redirect


Rodrigo Pensky

Pergunta

Olá galera um bom dia a todos, eu gostaria de saber se alguém sabe se tem como eu puxar um link do banco de dados e colocar no response.redirect ("puxar link no banco de dados") ???

Vou explicar melhor:

Meu Banco de dados é esse:

banco.jpg

eu estou ultilizando este código:

<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario

'Abriremos a conexão criada do include _conexao.asp
call abrir_conexao

'Criaremos um Recordset para selecionar os usuários cadastrados
set usuario=Server.CreateObject("ADODB.Recordset")

'Selecionar de acordo com o Login digitado no campo
usuario.Open "SELECT * from usuario where usuario='"& request.form("usuario") &"'", bd

'Se o usuário não for encontrado, iremos fechar a conexão, dar um alert e voltar 
if usuario.EOF then
    call fechar_conexao
    response.write "<script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
else
    'Caso tenha achado o usuário, o sistema irá verificar a senha
    if usuario("senha")=request.form("senha") then
        'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
        response.cookies("access")("usuario")=usuario("cod")
        'Irá fazer um UPDATE para indicar o último acesso
        bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""
        'Fecharemos a conexão
        call fechar_conexao    
        'Redirecionaremos para a página principal
        response.redirect ("puxar do banco de dados (link)")
    else
    'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
        call fechar_conexao
        response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
end if
%>

Link para o comentário
Compartilhar em outros sites

  • Respostas 52
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

Logar.asp

<% Option Explicit %>
<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario

Dim sql, Rs
sql = "select Link, * usuario Where usuario = " & "'" & Request.Form("usuario") & "'"
set Rs = server.createobject("ADODB.RecordSet")
Rs.Open sql, usuario, 3, 3

'declara ele numa variavel
Link = Rs("Link")

'Abriremos a conexão criada do include _conexao.asp
call abrir_conexao

'Criaremos um Recordset para selecionar os usuários cadastrados
set usuario=Server.CreateObject("ADODB.Recordset")

'Selecionar de acordo com o Login digitado no campo
usuario.Open "SELECT * from usuario where usuario='"& request.form("usuario") &"'", bd

'Se o usuário não for encontrado, iremos fechar a conexão, dar um alert e voltar 
if usuario.EOF then
    call fechar_conexao
    response.write "&lt;script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
else
    'Caso tenha achado o usuário, o sistema irá verificar a senha
    if usuario("senha")=request.form("senha") then
        'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
        response.cookies("access")("usuario")=usuario("cod")
        'Irá fazer um UPDATE para indicar o último acesso
        bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""
        'Fecharemos a conexão
        call fechar_conexao    
        'Redirecionaremos para a página principal
        Response.Redirect(Rs.Fields("Link"))
    else
    'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
        call fechar_conexao
        response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
end if
%>

Link para o comentário
Compartilhar em outros sites

  • 0

Uhm... a ordem das coisas estão muito confusas... você está abrindo conexão bem depois de setar primeiro rs...

Checando o usuário tb depois da primeira rotina...

de uma organizada no seu script...

o melhor é sempre abrir a conexão nas primeiras partes do código... assim evita erros!

Link para o comentário
Compartilhar em outros sites

  • 0

Putss Cara.. não era pra dar errado

não creio que seja Conexao

Coloque o arquivo de conexao separadoo

MDB é fodss!

<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario, Sql

   Set Rs = Server.CreateObject("ADODB.RecordSet")
   Sql = "Select Link, * usuario Where usuario = " & "'" & Request.Form("usuario") & "'"
   Rs.Open Sql, conexao, 3, 3
   
   Rs("Link")
   Link = Rs.Fields("Link")
   'Response.Write(Link)

'Criaremos um Recordset para selecionar os usuários cadastrados
Set usuario=Server.CreateObject("ADODB.Recordset")

'Selecionar de acordo com o Login digitado no campo
usuario.Open "SELECT * from usuario where usuario='"& request.form("usuario") &"'", bd

'Se o usuário não for encontrado, iremos fechar a conexão, dar um alert e voltar 
if usuario.EOF then
    response.write "&lt;script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
else
    'Caso tenha achado o usuário, o sistema irá verificar a senha
    if usuario("senha")=request.form("senha") then
        'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
        response.cookies("access")("usuario")=usuario("cod")
        'Irá fazer um UPDATE para indicar o último acesso
        bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""
        'Redirecionaremos para a página principal
        Response.Redirect(Link)
    else
    'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
        response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
end if
%>

Tira o Option Explicit

não precisa declarar Rs, porque está declarado como Set

veja agoraa

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia galera, quero agradecer a força que vocês estão me dando, então ainda não funcionou, eu coloquei esse código acima mas deu erro denovo.

Olha o link para vocês verem Logar.asp

Bom eu uso 5 arquivos

_conexao.asp

_cookie.asp

entrar.asp

logar.asp

dados/banco.mdb

No momento eles estão assim:

_conexao.asp

<%
'Criaremos uma SUB para a conexão para conectarmos com o banco de dados do AccessAdmin
'Detalhe: Não é o banco que será administrado
sub abrir_conexao    
    localbd = "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("dados/banco.mdb")
    set bd=Server.CreateObject("ADODB.Connection")
    bd.open localbd
end sub

'SUB que fechará a conexão
sub fechar_conexao
    bd.close
    Set bd = nothing
end sub
%>
_cookie.asp
<%
'Criando variáveis
Dim localbd, bd, verificar_usuario, varCookie

'Se o cookie for vazio iremos dar um valor ZERO para não dar erro
'Se não irá setar o valor da variável com o valor do cookie
if request.cookies("access")("usuario")="" then
    varCookie=0
else
    varCookie=request.cookies("access")("usuario")
end if

'Abrir conexão
call abrir_conexao

'Criaremos um Recordset para verificar se o Codigo do Cookie existe no banco de dados
set verificar_usuario=Server.CreateObject("ADODB.Recordset")

'Selecionar o usuário
verificar_usuario.Open "SELECT cod from usuario where cod="&varCookie&"", bd

'Se o usuário não existir, fecharemos a conexão e redirecionaremos para a página de logar
if verificar_usuario.EOF then
    call fechar_conexao
    response.redirect "entrar.asp"
end if

call fechar_conexao
%>
entrar.asp
<html>
<head>

<title>Entrar</title>

</head>
<body topmargin="0" leftmargin="0">
<div align="center">
<table border="0" width="779" cellspacing="0" cellpadding="0" height="360">
<tr>
<td valign="top">

<font color="#262721" size="2" face="Verdana">Para entrar, preencha os campos 
abaixo com seus dados de acesso:</font></p>
<center>
<form action="logar.asp" method="post" name="form" id="form">
<div id="logar">
<div id="campos">
<p style="margin-top: 0; margin-bottom: 0">LOGIN:  <input name="usuario" type="text" id="usuario" size="15" /></div>
<div id="campos">SENHA: <input name="senha" type="password" id="senha" size="15" /></div>
<div id="campos" align="right">
<p align="center"><input name="Entrar" type="submit" value="Entrar" />
</div>
</div>
</form>
</div>

</td>
</tr>
</table>
</div>
<br>
</body>
</html>
logar.asp
<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario, Sql

   Set Rs = Server.CreateObject("ADODB.RecordSet")
   Sql = "Select Link, * usuario Where usuario = " & "'" & Request.Form("usuario") & "'"
   Rs.Open Sql, conexao, 3, 3
   
   Rs("Link")
   Link = Rs.Fields("Link")
   'Response.Write(Link)

'Criaremos um Recordset para selecionar os usuários cadastrados
Set usuario=Server.CreateObject("ADODB.Recordset")

'Selecionar de acordo com o Login digitado no campo
usuario.Open "SELECT * from usuario where usuario='"& request.form("usuario") &"'", bd

'Se o usuário não for encontrado, iremos fechar a conexão, dar um alert e voltar 
if usuario.EOF then
    response.write "&lt;script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
else
    'Caso tenha achado o usuário, o sistema irá verificar a senha
    if usuario("senha")=request.form("senha") then
        'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
        response.cookies("access")("usuario")=usuario("cod")
        'Irá fazer um UPDATE para indicar o último acesso
        bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""
        'Redirecionaremos para a página principal
        Response.Redirect(Link)
    else
    'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
        response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
end if
%>

Banco.mdb

banco.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

Tira essa parte do seu código

'Criaremos um Recordset para selecionar os usuários cadastrados
Set usuario=Server.CreateObject("ADODB.Recordset")

'Selecionar de acordo com o Login digitado no campo
usuario.Open "SELECT * from usuario where usuario='"& request.form("usuario") &"'", bd

'Se o usuário não for encontrado, iremos fechar a conexão, dar um alert e voltar
E no lugar disso
if usuario.EOF then
coloque isso
If Rs("usuario").EOF Then
, E no lugar disso
if usuario("senha")=request.form("senha") then
Coloque isso
If Rs("Senha") = Request.Form("Senha") Then

Ta Sodaaa Hein!

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

  • 0

Fiz exatamente o que você disse e deu erro denovo:

http://www.photoprintdigital.com.br/profis...l/adm/logar.asp

ERRO:

ADODB.Recordset erro '800a0bb9'

Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito.

/profissional/adm/logar.asp, line 8

Link para o comentário
Compartilhar em outros sites

  • 0

Nossa mãe... essas sintaxes que lhe passaram estão com erros gritantes... essa instrução, por exemplo, teria como sintaxe correta esta forma:

Sql = "Select * from usuario Where usuario = '" & Request.Form("usuario")&"' "

Mas che, assim ó, você já recebeu tantas dicas que estou perdido... se essa alteração acima não funcionar poste novamente seu código completo, a linha onde ocorre o erro, a mensagem de erro completa e o que vem acontecendo exatamente...

[]'s Rafael Spilki

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

  • 0
Sql = "Select Link, * usuario Where usuario = " & Request.Form("usuario")

ta errado sim... inclusive a minha tb estava errada, arrumei agora na última edição!

Veja, você esqueceu do from tem uma , ali depois de link, o campo usuário estava sendo tratado como número, onde provavelmente seja texto (se não for tem que mudar denovo)... enfim... tem erros sim!

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

  • 0

shudshadishisdhsihdsidhisadhsaidh..... ai complica.... em vez de ajuda atrapalha.... kkkkkk

tentar de várias maneiras foi foda (trocando o tipo de dados dos campos no select foi matador).

Recomendo que copie todo o código e teste localmente, é uma boa prática... depois posta as conclusões...

coisas como as sugestões anteriores estão totalmente erradas também...

E no lugar disso

CODE

if usuario.EOF then --> ta certo

coloque isso

CODE

If Rs("usuario").EOF Then ---> de onde tiro isso???

não olhei o resto mais depis de dicas grotecas não pude me conter...

Link para o comentário
Compartilhar em outros sites

  • 0

Olá galera então eu alterei o ultimo código que o Rafael Spilki passou e nnão deu certo

Sql = "Select * from usuario Where usuario = '" & Request.Form("usuario")&"' "
Deu esse erro: ADODB.Recordset erro '800a0bb9' Os argumentos são incorretos, estão fora do intervalo aceitável ou estão em conflito. /profissional/adm/logar.asp, line 8 Logar.asp http://www.photoprintdigital.com.br/profis...l/adm/logar.asp O Arquivo esta assim:
<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario, Sql

   Set Rs = Server.CreateObject("ADODB.RecordSet")
   Sql = "Select Link, * usuario Where usuario = " & Request.Form("usuario")
   Rs.Open Sql, conexao, 3, 3
   
   Rs("Link")
   Link = Rs.Fields("Link")
   'Response.Write(Link)


If Rs("usuario").EOF Then
    response.write "&lt;script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
else
    'Caso tenha achado o usuário, o sistema irá verificar a senha
    If Rs("Senha") = Request.Form("Senha") Then
        'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
        response.cookies("access")("usuario")=usuario("cod")
        'Irá fazer um UPDATE para indicar o último acesso
        bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""
        'Redirecionaremos para a página principal
        Response.Redirect(Link)
    else
    'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
        response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
end if
%>

Link para o comentário
Compartilhar em outros sites

  • 0

que q esse link ta perdido ai...

Set Rs = Server.CreateObject("ADODB.RecordSet")

Sql = "Select Link, * usuario Where usuario = " & Request.Form("usuario")

Rs.Open Sql, conexao, 3, 3

Rs("Link") ' deleta isso

Link = Rs.Fields("Link")

'Response.Write(Link)

Link para o comentário
Compartilhar em outros sites

  • 0

Assim do jeito que você está tentando está errado... a forma correta é como eu lhe passei! a instrução é assim:

Sql = "Select * from sua_tabela Where campo_no_bd_a_comparar = '" & Request.Form("variavel_comparativa_que_vem_do_form")&"' "
substitua conforme sua utilização, caso continue não funcionando debugue essa instrução abaixo (com a substiutição conforme seu caso, dessa forma:
Sql = "Select * from sua_tabela Where campo_no_bd_a_comparar = '" & Request.Form("variavel_comparativa_que_vem_do_form")&"' "
'inicio do debug
response.write "Sql = "& Sql & "<BR>"
response.end
'fim do debug

Depois poste aqui os resultados...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario, Sql

   Set Rs = Server.CreateObject("ADODB.RecordSet")
   Sql = "Select Link, * usuario Where usuario = " & Request.Form("usuario")
   Rs.Open Sql, conexao, 3, 3
  
   [b]Rs("Link")[/b]
   Link = Rs.Fields("Link")
   'Response.Write(Link)

Além do "Link Perdido"....rsrsrs.... não entendi essa virgula e depois "* usuario".... onde que tá o FROM?

Tente colocar SELECT * FROM usuario WHERE usuario = '" & Request.Form("usuario") & "'"

Outro detalhe :

Repare que você esta passando parametros do tipo string e não numérico, por isso, utilize sempre ' (apostofro) antes e depois de valores do tipo string..

Link para o comentário
Compartilhar em outros sites

  • 0

AEEE CARAMBA ACHO QUE FALTA POUCO PARA DAR CERTO, TEM ALGO ERRADO porque

AGORA ESTA DANDO ISSO:

Sql = Select * from usuario Where usuario = 'Walter'

ELE CONSEGUIU PEGAR O NOME DO USUARIO AGORA OQUE SERÁ QUE ESTA DANDO ERRADO???

O CÓDIGO ESTA ASSIM:

<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario, Sql

   Set Rs = Server.CreateObject("ADODB.RecordSet")
    Sql = "Select * from usuario Where usuario = '" & Request.Form("usuario") & "'"
'inicio do debug
response.write "Sql = "& Sql & "<BR>"
response.end
'fim do debug    Rs.Open Sql, conexao, 3, 3

    Link = Rs.Fields("Link")
    'Response.Write(Link)


If Rs("usuario").EOF Then
    response.write "&lt;script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
else
    'Caso tenha achado o usuário, o sistema irá verificar a senha
    If Rs("Senha") = Request.Form("Senha") Then
        'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
        response.cookies("access")("usuario")=usuario("cod")
        'Irá fazer um UPDATE para indicar o último acesso
        bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""
        'Redirecionaremos para a página principal
        Response.Redirect(Link)
    else
    'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
        response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
end if
%>

Link para o comentário
Compartilhar em outros sites

  • 0

isso se chama debug... não está nada funcionando... pedi isso apenas para testarmos...

A tabela usuario realmente existe no BD? e o campo usuario realmente existe dentro da tabela usuario?

Isso é de suma importancia! Confirme! Confirme inclusive se esta escrito sem acentos, como na query...

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Esta tudo certo vou postar os arquivos abaixo:

entrar.asp

<html>
<head>

<title>Painel de controle</title>

</head>

<body topmargin="0" leftmargin="0">

    <div align="center">
    <table border="0" width="779" cellspacing="0" cellpadding="0" height="360">
    <tr>
    <td valign="top">
    <p align="center">
    <font color="#262721" size="2" face="Verdana">
                 Para entrar, preencha os campos abaixo com seus dados de acesso:</font></p>
    </p>
    
    <center>
    <form action="logar.asp" method="post" name="form" id="form">
    
    <div id="logar">
    <div id="campos"><font size="2">LOGIN:</font><input name="usuario" type="text" id="usuario" size="15" /></div>
    <div id="campos"><font size="2">SENHA:</font> <input name="senha" type="password" id="senha" size="15" /></div>
    <div id="campos" align="right">
    <p align="center"><input name="Entrar" type="submit" value="Entrar" />
    
    </div>
    </div>
    </form>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <br>
    </body>
    </html>
Logar.asp
<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario, Sql

    Set Rs = Server.CreateObject("ADODB.RecordSet")
    Sql = "Select * from usuario Where usuario = '" & Request.Form("usuario") & "'"

    'inicio do debug
    response.write "Sql = "& Sql & "<BR>"
    response.end
    'fim do debug    
    
    Rs.Open Sql, conexao, 3, 3

    Link = Rs.Fields("Link")
    'Response.Write(Link)


    If Rs("usuario").EOF Then
    response.write "&lt;script>history.back(1);alert('Login incorreto. Tente novamente.')</script>"
    else

    'Caso tenha achado o usuário, o sistema irá verificar a senha
    If Rs("Senha") = Request.Form("Senha") Then

    'Se a senha for válida, ele irá gravar um cookie com o codigo do usuario
    response.cookies("access")("usuario")=usuario("cod")

       'Irá fazer um UPDATE para indicar o último acesso
    bd.execute "UPDATE usuario SET ultimoacesso='"&now()&"' WHERE cod="&request.cookies("access")("usuario")&""

   'Redirecionaremos para a página principal
    Response.Redirect(Link)
    else
   
     'Caso não valide a senha, será dada uma mensagem de senha incorreta e voltará
     response.write "&lt;script>history.back(1);alert('Senha incorreta. Tente novamente.')</script>"
    end if
    end if
    %>

Banco.mdb:

banco.jpg

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...