Ir para conteúdo

Arquivado

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

pedrovisk

Validando Form

Recommended Posts

Estou trabalhando com Ajax agora e estou tentando fazer uma validação de form, consulta o usuário para saber se o mesmo está cadastrado, mas sempre tenho a mesma resposta da consulta INDISPONÍVEL.

 

Usuario.asp

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Verifica Usuário</title>
<style type="text/css">
body {
background-repeat:no font-family: Trebuchet MS, Lucida Sans Unicode, Arial, sans height:100%;
	background-color: #FFF;
	margin:0px;
	padding:0px;
background-image:ur background-repeat:no padding-top:85px;
}
fieldset {
	width:500px;
	margin-left:10px;
}
.campos {
	border:1px solid black;
}
</style>
<script>
function ChecaUsuario()
{
	// Verfica se o navegador tem suporte a AJAX.
	try
	{
		xmlhttp = new XMLHttpRequest()
	}
	catch(e1)
		{
		try
		{
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch(e2)
		{
		try
		{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch(e3)
		{
			xmlhttp = false
		}
	}
}

// Se conseguir criar o objeto AJAX
if(xmlhttp)
{
	// Mostra a figura de carregando na tela
	var objSpan =document.getElementById("aviso")
	//objSpan.innerHTML="Checando..."
	objSpan.innerHTML="<img src='Ajax.gif'>"
	// Recuperamos o valor do objeto idUsuario
	var txtUsuario = document.getElementById("idUsuario").value
	// Montamos a URL destino (a ser executada)
	var enderecoURL = 'Verifica_Usuario.asp?Login='+escape(txtUsuario)
	//Abre o Endereço especificado pelo metodo 'GET'
	xmlhttp.open("GET", enderecoURL ,true)
	// Definimos a função de tratamento da alteração de estado do objeto AJAX
	xmlhttp.onreadystatechange=function()
	{
		// Objeto está pronto? (Status finalizado)
		if (xmlhttp.readyState==4)
		{
		// Deu tudo certo?
			if ( xmlhttp.status == 200)
			{
				// resposta do servidor OK - Lê o texto
				var texto= xmlhttp.responseText
				//Exibe o texto no span AVISO
				objSpan.innerHTML=texto
			}
			else
			{
				objSpan.innerHTML="Falha na localização do ID:" +
				xmlhttp.statusText
			}
		}
	}
	// Objeto AJAX não mais necessário. Vamos eliminá-lo.
	xmlhttp.send(null)
}
}
</script>
</head>
<body>
<form name="formUsuario" action="Verifica_Usuario.asp" method="post">
  <fieldset>
    <legend>Dados do Usuario</legend>
    <table>
      <tr>
        <td><label for="idUsuario">Identificação:</label></td>
        <td><input name="idUsuario" id="idUsuario" size="15" maxlength="15" onblur="ChecaUsuario()" class="campos">
          <span id="aviso"></span ></td>
      </tr>
      <tr>
        <td colspan="2" align="center"><label for="cep"><input type="submit" value="Cadastrar" />
          </label></td>
      </tr>
    </table>
    <tr>
      <td colspan="2" align="center"></td>
    </tr>
  </fieldset>
</form>
</body>
</html>

Verifica_Usuario.asp

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Incluide/Conexao.asp" -->
<!--#include file="Incluide/Funcoes.asp" -->
<%
Login 	= Trim(Request("Login"))
Login 	= ValidaDados(Login)

Call Abre_Conexao 'Abre a conexão com o BD Qualidade

'Cria o recordset para validar o usuário
Set SQL = Server.CreateObject("ADODB.RecordSet")
	SQL.ActiveConnection = Conx
	SQL.CursorType = 3
	SQL = "SELECT RD_Local.LoginRD FROM RD_Local WHERE (LoginRD = '"&ExpurgaApostrofe(Login)&"')"
	'Response.Write SQL
	'Response.End()
Set rs = Conx.Execute(SQL)


IF Not rs.EOF Or Not rs.BOF THEN
	Response.Write("Disponível")
Else
	Response.Write("Indisponível")
End If

%>

A resposta da consulta, quando dou um Response.Write é SELECT RD_Local.LoginRD FROM RD_Local WHERE (LoginRD = 'True')

 

Não sei onde está o problema

 

Agradeço a quem puder me ajudar.

 

Abraço,

 

Pedro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa!

 

Digite a palavra pedro e saiu o seguinte: Verifica_Usuario.asp?Login=pedro

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz as alterações, conforme instruído, mas ainda não consegui descubri o segredo. Alguém já teve este problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se entendi bem, apesar de não programar ASP, o problema é a tua função ValidaDados que está retornando TRUE.. e não é isso que você precisa para fazer o SELECT..

Login   = ValidaDados(Login)
oque ela faz?

 

Eu comentaria essa linha, pois para o SELECT você precisa mandar oque o usuário digitou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O campo LoginRD é texto mesmo?

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.