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

Faz um select no usuario e pega o link

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

   'Pega o campo LINK Abaixo
   Rs("Link")
   'declara ele numa variavel
   Link = Rs("Link")
'Agora joga no Response.Redirect
Response.Redirect(Link)
Para ficar mais facil, implementei no seu codigo se der erro fala
<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario

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

   'Pega o campo LINK Abaixo
   Rs("Link")
   '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 (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
%>

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

  • 0

Como assim não carregou ? O Link pra pagina ??

Coloque um Response.Write(Link) e veja o que aparece

Se aparecer alguma coisa é porque ele está pegando o link da tabela, agora se não estiver carregando a pagina pode ser varias coisas.

você tem cada link em um diretorio, ou é um link da web ?

Se for da web, tem que por http://www.exemplo.com.br, se estiver em um diretorio, tem que colocar o endereço certo, cuidado com os ../, tem que estar certo! Eu colocaria o endereço inteiro!

Link para o comentário
Compartilhar em outros sites

  • 0

Eu coloquei o Response.Write(Link) tmb não abriu a pagina.

Os links eu estou colocando esta assim no banco de dados:

exemplo:

COD: 1

USUARIO: Walter

SENHA: ****

LINK:Http://www.photoprintdigital.com.br/profissional/Walter/Admin.asp

Agora em outro usuario, outro link diferente

COD: 1

USUARIO: Rodrigo

SENHA: ****

LINK:Http://www.photoprintdigital.com.br/profissional/Rodrigo/Admin.asp

o que poderia estar errado?

Link para o comentário
Compartilhar em outros sites

  • 0

não.. O comando Response.Write era para mostrar o link

Mostrou na tela o Link ???

Se mostro é porque ele está puxando do banco

Aparece algum erro ? Se sim, posta ae pra gente..

não era pra dar errado

Quando você digita o email e senha, da certo ? não da erro nenhum ? entra normalmente, só não redireciona é isso ?

Ou senao.. coloca assim

Response.Redirect("Rs.Fields("campo_link_bd"))

Veja se da certo

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

  • 0

Vamos fazer diferente do que você está fazendo.

Crie uma pagina de conexao separada assim

<%
    SET Conexao = Server.CreateObject("adodb.connection")
    Conexao.open "Provider=SQLOLEDB.1;Password=Senha;Persist Security Info=True;User ID=Login;Initial Catalog=Base;Data Source=Servidor"
%>
Agora vamos pegar os itens do formulario
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file = "conexaosql.asp" -->
<%
if request.querystring("action") = "login" then
    set login = server.createobject("ADODB.Recordset")
    login.open    "select * FROM tabela WHERE LOGIN= '"&request.form("login")&"' AND SENHA= '"&request.form("senha")&"'", conexao
    if login.eof then
                      response.write("senha incorreta")
                else
                     response.redirect(RS.Fields("campo_Link")
                end if
%>

agora não tem erro cara...

o botao entrar que você deve ter na pagina quando você for logar, tem que chamar login

porque no Request.QueryString ele pega a ação do botao..

Bele!

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

  • 0

O erro que dá é "A página não pode ser exibida" - "HTTP 500 - erro interno do servidor"

Andei analizando aqui, quando eu tiro esse código abaixo

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

   'Pega o campo LINK Abaixo
   Rs("Link")
   'declara ele numa variavel
   Link = Rs("Link")

e mudo o Response.Redirect("Rs.Fields("campo_link_bd") para response.redirect("http://site.com.br/index.asp")

ele funciona, então deve ter um erro ai!

Séra porque eu fiz o banco de bados em mdb?

É porque eu preciso que ele busque o link no banco de dados!

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

  • 0

O código que você tirou

coloque ele novamente

..

Agora vai em ferramentas/opções de internet/avançadas e tire a opção "Mostrar Mensagens de erro amigaveis http"

Depois rode a pgina novamente e mande o erro ae pra gente

isso no IE, não no mOzilla

Ahhh com certeza deve ser a conexao..

não sabia que você tava usando MDB, pensei que era SQL

MDB conexao é assim

Set Conexao = Server.CreateObject("ADODB.Connection")
Set Infobanco= Server.CreateObject("ADODB.RecordSet") 
Conexao.Open 
"DBQ=D:\web\seu_login\dados\nome_do_banco.mdb;Driver={Microsoft Access Driver (*.mdb)}" 
Infobanco.Open "contatos",Conexao

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

  • 0

O arquivo de conexão esta certo:

_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
%>
O erro esta dando no arquivo: Logar.asp
<% Option Explicit %>
<!--#include file="_conexao.asp" -->
<%
'Criando variáveis
Dim localbd, bd, usuario

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

   'Pega o campo LINK Abaixo
   Rs("Link")
   '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("campo_link_bd"))
    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
%>

Editado por Rodrigo Pensky
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

  • 0

eu coloquei esse código Response.Redirect(Rs.Fields("Link"))

E deu esse erro:

Erro de tempo de execução do Microsoft VBScript erro '800a01f4'

Variável não definida: 'Rs'

/profissional/adm/logar.asp, line 9

Não esta dando erro por causa desse script q esta em sql e o banco de dados esta em mdb?

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

   'Pega o campo LINK Abaixo
   Rs("Link")
   'declara ele numa variavel
   Link = Rs("Link")

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

  • 0

Provavelmente no topo do seu script tenha o codigo:

option explicit
indicando que você deve declarar todas as variáveis... ou seja, tem que declarar o rs, ficaria assim:
Dim sql, Rs
sql = "select Link, * usuario Where usuario = " & "'" & Request.Form("usuario") & "'"
set Rs = server.createobject("ADODB.RecordSet")
Rs.Open sql, conexao, 3, 3

'Pega o campo LINK Abaixo
Rs("Link")
'declara ele numa variavel
Link = Rs("Link")

Link para o comentário
Compartilhar em outros sites

  • 0

Coloquei esse script

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

'Pega o campo LINK Abaixo
Rs("Link")
'declara ele numa variavel
Link = Rs("Link")
E 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 9 SEGUE O CÓDIGO ABAIXO
<% 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, conexao, 3, 3

'Pega o campo LINK Abaixo
Rs("Link")
'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

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...