Ir para conteúdo

POWERED BY:

Arquivado

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

Xenofonte

Não mostra o Alert de jeito nenhum

Recommended Posts

Fala Galera,

 

Estou com um problema aqui que está me fazendo perder muito tempo.

 

P.S: No SQL SERVER dá tudo certo, mas no oracle acontece o erro a seguir:

 

Tenho uma página em asp que está validando a senha do usuário através de uma procedure em Oracle.

 

Se houver algum erro na validação dessa senha, por exemplo, o usuário tenha digitado uma senha com menos de 8 caracteres. Então ele acessa a procedure e verifica que a senha tem menos de 8 caracteres, então retorna erro.

 

Aqui é a chamada da procedure

sRespostaAux = ValidouSenhaDocente(Csng(txt_numero_matricula),txt_senha)
Session("ResultadoError") = sRespostaAux

Dentro da FUNÇÃO ValidouSenhaDocente ele acessa a Procedure(ORACLE) e acontece o erro:

a_APrI_Ly_docente.erro :=  'A senha deve ter um mínimo de 8 caracteres.';
RETURN ;

A função recebe a mensagem de erro:

ValidouSenhaDocente = cmd("erro")

Nesse momento está assim:

ValidouSenhaDocente = "A senha deve ter um mínimo de 8 caracteres."

sRespostaAux = "A senha deve ter um mínimo de 8 caracteres."

Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres."

 

Agora, popula uma variável de sessão:

If sRespostaAux <> "" Then
	Session("ResultadoTratamentoSenha") = "NO"
Else
	Session("ResultadoTratamentoSenha") = "OK"
End if

Ele entrou no If, então ficou assim:

Session("ResultadoTratamentoSenha") = "NO"

 

Agora, entra no If, mas não mostra o alert com o erro na tela:

If Session("ResultadoTratamentoSenha") = "NO" Then
	Response.Write  "<script LANGUAGE=JavaScript>" & _
					"self.alert('" & Session("ResultadoError") & "');" & _
					"self.location.href = 'AltSenha.asp';</SCRIPT>" 
	Response.end
End if

Ou seja, era pra aparecer na página, "A senha deve ter um mínimo de 8 caracteres.". Depois ir pra página de alterar a senha

 

Acontece que não mostra de jeito nenhum o erro e entra normal. Mesmo eu debugando ele entra no If, mas quando dá o response.end não para e se perde.

 

 

No SQL tudo isso funciona normal, será que tem algo a ver com o Oracle? O que pode ser? Parece que a variável está recebendo espaço a mais, não sei. Já tentei passar trim, mas não deu certo.

 

OBS: SE EU COLOCAR O ALERT('ERRO!'), DÁ CERTO. SÓ NÃO DÁ CERTO QUANDO EU QUERO PASSAR VARIÁVEL NO ALERT. SEJA

DE SESSÃO OU NÃO.

 

 

Alguém pra ajudar?

 

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você testar apenas o código abaixo, verá que ele está funcionando:

<%
Session("ResultadoTratamentoSenha") = "NO"
Session("ResultadoError") = "A senha deve ter um mínimo de 8 caracteres."


If Session("ResultadoTratamentoSenha") = "NO" Then
Response.Write  "<script type='text/javascript'>" &_
   "alert('" & Session("ResultadoError") & "');" &_
   "window.location.href = 'AltSenha.asp';</SCRIPT>" 
Response.end
End if 
%>
Se os problemas persistirem, poderão ser em outro lugar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri que o erro é justamente na Session("ResultadoError").

 

Tipo quando eu dou o len(Session("ResultadoError")), me aparece 1023 caracteres.

 

e na mensagem de erro só são 43:

 

alguma coisa ta fazendo de errado

 

pode ser aquele negócio de unicode, asc essas coisas que não manjo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

em vez de ver o len escreva a própria mensagem e post aqui

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.