Ir para conteúdo

POWERED BY:

Arquivado

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

natalia

Alguém me com login

Recommended Posts

Oi pessoal, estou fazendo uma página onde o usuário se não for um cliente terá que fazer o cadastro, se for cadastrado serão mostrado os seus dados. Por enquanto estou testando caso o usuário seja um cliente, mas não funciona.Trechos do código:varSenha = Trim(Request.Form("senha"))varEmail = Trim(Request.Form("email"))varRadio = Request.Form("radio")strLogCli = " SELECT Codigo_Cli, Senha, Email FROM Cliente "Call Open_cnSet rsLogCli = Conexao.Execute(strLogCli)...<table> <% If varRadio = "C" AND varSenha = rsLogCli("Senha") ThenSession("Login") = TrueSession("Cliente") = varSenhaResponse.Redirect "cadastro/cadastro.asp" Else %> <tr> <td>Senha inválida</td> </tr> <% End If %>Depois farei outro if semelhante a esse p/ conferir se o e-mail é válido. Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você está selecionando todos os registros creio que deveria selecionar só o que tenha o nome ou o username do cliente, tipo:

astrLogCli = " SELECT Codigo_Cli, Senha, Email FROM Cliente WHERE Campo_do_nome ='"&Var_com_o_Nome&"'"

Quando você seleciona todos os registros eles ficam, por padrão na ordem de entrada, ou seja ele só será igual se, por coincidencia, for o ultimo usuário cadastrado, entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acrescentei o where e agora acontece o seguinte, se digito a senha correta sou redirecionada p/ página que mostra os meus dados. Mas se digito a senha errada dá esse erro:Tipo de erro:(0x80020009)Exceção. /loja-teste/login/checar_login.asp, line 26nessa linha: If varRadio = "C" AND varSenha = rsLogCli("Senha") Then

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então pessoal eu fiz assim e funcionou:o select ficou assim:strLogCli = " SELECT Codigo_Cli, Senha, Email FROM Cliente "strLogCli = strLogCli & " WHERE Email = '"& varEmail &"' OR senha = '"& varSenha & "' "Coloquei um OR no where pois se o usuário for cliente precisa digitar a senha, se for a primeira compra digita o e-mail dele.Depois vem o if :<% If rsLogCli.EOF ThenResponse.Write "Usuário não existente, por favor cadastre-se!"ElseSession("Senha") = rsLogCli("Senha")Response.Redirect "cadastro/cadastro.asp"End If%> Agora preciso continuar, se o usuário digitou o e-mail significa que é a primeira compra. Então tenho que saber se esse e-mail já está cadastrado e se não tiver redirecionar p/ o formulário de cadastro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta faze assim naum sei c dah certu pq ainda naum testei sql = "SLECT * FROM tabela WHERE email="&email_digitado&""e depois faiz um if IF rs.BOF or rs.EOF ThenResponse.Redirect "form_de_cadastro.asp"End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Brother,

 

Acho que você está usando uma condição errada no SQL.

 

strLogCli = " SELECT Codigo_Cli, Senha, Email FROM Cliente "

strLogCli = strLogCli & " WHERE Email = '"& varEmail &"' OR senha = '"& varSenha & "' "

 

Tenta utilizar o AND. Pois assim não faz o banco trabalhar muito sem necessidade e retorna o valor certo do usuário para você. e tb faça o seguinte.

 

strLogCli = " SELECT Codigo_Cli, Senha, Email FROM Cliente "

strLogCli = strLogCli & " WHERE Email = '"& varEmail &"' AND senha = '"& varSenha & "' "

 

If rsLogCli.EoF

Response.Write "Erro! Usuário não existente"

Else

Call sua_função_para_mostrar_dados

End If

 

rsLogCli.Close

 

=====================================================

 

Tenta ae velho, e notifica os erros que estão dando.

 

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rodrigo o problema em usar o AND é o seguinte, os já cadastrados na loja só digitam a sua senha, e os não cadastrados só digitam o e-mail. Ñunca irão digitar os 2 ao mesmo tempo, precisa ser escolhido entre um ou outro. nesse caso uso o OR. Entendeu?

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.