Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Geison C

Como passar e usar variaveis

Recommended Posts

Olá a todos novamente !eu tenho uma pagina de login, queverifica no banco de dados, se o cara eh cadastrado e se a senha esta correta.

<form action="auth_form.asp" method="post"> <p align="center"><span class="style1">Login:</span> <input type="text" name="user"> </p> <p align="center"> <span class="style1">Senha:</span> <input type="password" name="pass"> </p> <p align="center"> <INPUT NAME="btnloga" TYPE="submit" value="Entrar"> </p></form>

Se o usuario e a senha estiverem corretos ele abre a pagina index.asp, na qual esta conectada com o banco de dados e faz um select geral para aparecer as mensagens. (É uma pagina de mensagems para usuarios).Como eu faco para pegar a variavel que foi usada no login para eu colocar no select ?o codigo da pagina de autenticacao eh este

<%Dim user, passlogin = Request.Form("user")senha = Request.Form("pass")set conObj = CreateObject("ADODB.Connection")conObj.Open("DRIVER=Firebird/InterBase® driver; UID=SYSDBA;PWD=masterkey; DBNAME=localhost:C:\Teste\Mensageiro\Dados\MENSAGEIRO.FDB")Set sql = Server.CreateObject("ADODB.Recordset")Dim sqlsql = "SELECT * FROM tblogin WHERE login='" & login & "' AND senha='" & senha & "'"Dim rsSet rs = conObj.Execute(sql)If rs.EOF Thenlogin = falseElselogin = trueEnd IfIf login = true ThenSession("logado") = trueResponse.redirect("index.asp")ElseResponse.redirect("erro.asp")End If%>

agora nao sei como pegar a variavel login e usala na pagina index para fazer o select.É complicado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa session:

 

na pagina de login você faz assim:

Dim rs

Set rs = conObj.Execute(sql)

If rs.EOF Then

login = false

session("idusuario") = rs("idusuario")

Else

login = true

End If

 

sessions são usadas como variaveis publicas, só tem um problema com elas, elas expiram com determinado tempo, tenha cuidado a usala-las

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. legal.. entao eu no caso, posso usar a variavel idusuario em qq pagina, que eleas funcionaram até expirar ?!beleza.vou tentar aqui. qq coisa posto novamente...Obrigado ASP!Vb .

Compartilhar este post


Link para o post
Compartilhar em outros sites

!! BOM ENTAO, ficou assim,no form de login

<%Dim user, passlogin = Request.Form("user")senha = Request.Form("pass")set conObj = CreateObject("ADODB.Connection")conObj.Open("DRIVER=Firebird/InterBase® driver; UID=SYSDBA;PWD=masterkey; DBNAME=localhost:C:\Teste\Mensageiro\Dados\MENSAGEIRO.FDB")Set sql = Server.CreateObject("ADODB.Recordset")Dim sqlsql = "SELECT * FROM tblogin WHERE login='" & login & "' AND senha='" & senha & "'"Dim rsSet rs = conObj.Execute(sql)If rs.EOF Thenlogin = falsesession("VarLogin") = rs("LOGIN")Elselogin = trueEnd IfIf login = true ThenSession("logado") = trueResponse.redirect("index.asp")ElseResponse.redirect("erro.asp")End If%>

e foi usado desse jeito no form index.

<%set strConexao = CreateObject("ADODB.Connection")strConexao.Open("DRIVER=Firebird/InterBase® driver; UID=SYSDBA;PWD=masterkey; DBNAME=localhost:C:\Teste\Mensageiro\Dados\MENSAGEIRO.FDB")Set lista = Server.CreateObject("ADODB.Recordset")login = Request.Form("user")sql = "Select * from tbmensageiro WHERE destinatario = '"& Session(VarLogin) &"'"set lista = strConexao.execute(sql) %>

mas quando vou rodar aparece o seguinte erro

ADODB.Recordset erro '800a0bcd' BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual. /asp/Mensageiro/index.asp, line 62

a linha 62 é

lista.MoveFirst

O que estou fazendo de errado denovo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se não tiver nada nos registros do bd nada será selecionado então voce não poderia mover o ponteiro do recordset como voce fez

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.,.. mas entao na parte da aquisicao do valor da variavel e o uso da mesma ta correto ?Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, cavocando o codigo, eu percebi que nao está sendo atribuido um valor a variavel, pois se eu colocar response.write(session(varlogin))ele nao retorna nada,entao o erro que está acontecendo é pq ele ta fazendo um select com um valor nulo...o estranho é que se eu forcar um valor na session no login e for escrever o conteudo da session na pagina principal ele mostra...ele nao ta querendo é pegar o conteudo do login, que está em um EditBox...

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui,... eu criei uma outra variavel que recebe...dimpegalogin = Request.Form("user")e depoissession("varlogin") = (pegalogin)aparentemente deu certo !!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.