Jump to content


Photo

Verificação De Email Já Inserido Com Ajax


  • Faça o login para participar
Nenhuma resposta neste tópico

#1 MnMk

MnMk

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Feminino
  • Localidade:Curitiba

Posted 26/02/2010, 15:07

Bom dia, preciso verificar se o email já foi inserido no banco de dados, para isso quando for tirado o foco do campo email deve ser chamada a função e ela faz a verificação se já foi ou não inserindo apresentando uma mensagem.
Gostaria que me ajudassem pois nada está funcionando, ao tirar o foco do campo não acontece nada.

bibliotecaAjax.js

var ajax;
var dadosUsuario;

// ------- cria o objeto e faz a requisição -------
function requisicaoHTTP(tipo,url,assinc){
if(window.XMLHttpRequest){ // Mozilla, Safari,...
ajax = new XMLHttpRequest();
}
else if (window.ActiveXObject){ // IE
ajax = new ActiveXObject("Msxml2.XMLHTTP");
if (!ajax) {
ajax = new ActiveXObject("Microsoft.XMLHTTP");
}
}

if(ajax) // iniciou sucesso
iniciaRequisicao(tipo,url,assinc);
else
alert("Seu navegador não possui suporte a essa aplicação!");
}

// ------- Inicializa o objeto criado e envia os dados (se existirem) -------
function iniciaRequisicao(tipo,url,bool){
ajax.onreadystatechange=trataResposta;
ajax.open(tipo,url,bool);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
//ajax.overrideMimeType("text/XML"); /* usado somente no Mozilla */
ajax.send(dadosUsuario);
}


// ------- Inicia requisição com envio de dados -------
function enviaDados(url){
criaQueryString();
requisicaoHTTP("POST",url,true);
}


// ------- Cria a string a ser enviada, formato campo1=valor1&campo2=valor2... -------
function criaQueryString(){
dadosUsuario="";
var frm = document.forms[0];
var numElementos = frm.elements.length;
for(var i = 0; i < numElementos; i++) {
if(i < numElementos-1) {
dadosUsuario += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value)+"&";
} else {
dadosUsuario += frm.elements[i].name+"="+encodeURIComponent(frm.elements[i].value);
}
}
}

// ------- Trata a resposta do servidor -------
function trataResposta(){
if(ajax.readyState == 4){
if(ajax.status == 200){
trataDados(); // criar essa função no seu programa
} else {
alert("Problema na comunicação com o objeto XMLHttpRequest.");
}
}
}



funcoes.js

window.onload = function() {
var texto = document.getElementById("email");
if (texto !=null)
texto.onblur = function() {
testaEmail(texto.value);
}
}

function testaEmail(email) {
if (email) {
var url="validar.php?email="+encondeURIComponent(email);
requisicaoHTTP("GET", url, true);
}
}

function trataDados() {
var info = ajax.responseText; //resposta como string
alert(info)
}


cliente_cadastro.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro de Clientes</title>

<script src="funcoes.js" type="text/javascript"></script>
<script src="biblioltecaAjax.js" type="text/javascript"></script>

</head>
<body>
<table width="68%" border="0" cellpadding="15" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td valign="top" bgcolor="#F5F5F5"><form action="BD_cliente_cadastro.php" name="cliente" id="cliente" method="post" onSubmit="return ValidateOrder(cliente)">
<table width="92%" border="0" cellpadding="10" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<td valign="top" bgcolor="#FFFFFF"><strong><font color="#CC0000">Contrata&ccedil;&atilde;o de Cliente</font></strong></td>
</tr>
<tr>
<td valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="fonte_ficha"><em><font color="#FF0000">* </font>Campos com preenchimento obrigat&oacute;rio.</em></td>
</tr>
</table>
<br />
<div id="pj" style="display:none;">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td width="50%" class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
</strong></td>
<td>&nbsp;</td>
</tr>
</table>
</div>
<table width="99%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td width="50%" class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="nome">Nome:</label>
</strong></td>
<td colspan="3"><span class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="razaosocial">CPF:</label>
</strong><em>(Informar somente n&uacute;meros)</em></span></td>
</tr>
<tr>
<td><input name="nome" class="a1" id="nome" size="50" maxlength="50" value="" /></td>
<td colspan="3"><input name="cpf" class="a1" id="cpf" size="50" onKeyPress="somenteNumero(event,this.id);" maxlength="11" value="" /></td>
</tr>
<tr id="tr_rg_cpf_label">
<td class="fonte_ficha"><span class="style1">*</span> <strong>RG: </strong><em>(Informar somente n&uacute;meros)</em></td>
<td colspan="3" class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="rg1">Cidade:</label>
</strong></td>
</tr>
<tr id="tr_rg_cpf_input">
<td><label>
<input name="rg" type="text" id="rg" size="50" maxlength="9" />
</label></td>
<td colspan="3"><label></label> <input name="cidade" class="a1" id="cidade" size="50" maxlength="50" value="" /> </tr>
<tr id="tr_cep_endereco_label">
<td class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="cep">CEP:</label>
</strong><em>(Informar somente n&uacute;meros)</em></td>
<td class="fonte_ficha"><label for="endereco"><font color="#FF0000"><em>*</em></font><strong>Endere&ccedil;o Completo:</strong></label></td>
<td class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="numero">N&ordm;:</label>
</strong></td>
</tr>
<tr id="tr_cep_endereco_input">
<td><input name="cep" class="a1" id="cep" onKeyPress="somenteNumero(event,this.id);" size="8" maxlength="8" value=""/></td>
<td><input name="endereco" class="a1" id="endereco" size="41" maxlength="50" value=""/></td>
<td><input name="numero" class="a1" id="numero" size="5" maxlength="5" value=""/></td>
</tr>
<tr id="tr_complemento_bairro_label">
<td class="fonte_ficha"><label for="complemento">Complemento:</label></td>
<td colspan="3" class="fonte_ficha"><label for="bairro"><font color="#FF0000"><em>*</em></font> <span class="&ccedil;&ccedil;">Bairro:</span></label></td>
</tr>
<tr id="tr_complemento_bairro_input">
<td><input name="complemento" class="a1" id="complemento" size="50" maxlength="15" value=""/></td>
<td colspan="3"><input name="bairro" class="a1" id="bairro" value="" size="50" maxlength="50"/></td>
</tr>
<tr>
<td class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="label">Estado:</label>
</strong><em></em></td>
<td colspan="3" class="fonte_ficha"><label for="sigla_estado" id="label_estado"><font color="#FF0000"><em>*</em></font><strong>Data de Nascimento: </strong>(Ex: 12/12/1990)</label></td>
</tr>
<tr>
<td><input name="estado" class="al" id="estado" size="50" value=""/></td>
<td colspan="3"><input name="dataNascimento" class="a1" id="dataNascimento" size="50" maxlength="10" value="" /></td>
</tr>
<tr>
<td class="fonte_ficha"><strong><font color="#FF0000"><em>*</em></font>Telefone Comercial: </strong><em>(Ex: 4133330000)</em></td>
<td colspan="3" class="fonte_ficha"><label for="fax_ddd"><font color="#FF0000"><em>*</em></font><strong> <strong>Telefone Celular: </strong> </strong> <em>(Ex: 4133330000)</em> </label></td>
</tr>
<tr valign="top">
<td><span class="fonte_ficha"><em class="fonte_ficha">
<input name="telefoneComercial" class="a1" id="telefoneComercial" value="" size="50" maxlength="10"/>
</em>
</span></td>
<td colspan="3"><span class="fonte_ficha">
</span>
<input name="telefoneCelular" class="a1" id="telefoneCelular" size="50" maxlength="10" value="" /></td>
</tr>
<tr>
<td class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="telefone1_ddd">Telefone Residencial:</label>
</strong><em>(Ex: 4133330000)</em></td>
<td>Site:</td>
</tr>
<tr>
<td><em class="fonte_ficha">
<input name="telefoneResidencial" class="a1" id="telefoneResidencial" value="" size="50" maxlength="10"/>
</em></td>
<td colspan="3"><label>
<input name="site" type="text" id="site" size="50" maxlength="70" />
</label></td>
</tr>
<tr>
<td><span class="fonte_ficha"><font color="#FF0000"><em>*</em></font><strong>
<label for="label">E-mail: </label>
</strong>
<em>
<label for="label">(Este email será o seu login)</label>
</em></span></td>
<td colspan="3" class="fonte_ficha">E-mail Secundário:</td>
</tr>
<tr>
<td><label>
<input name="email" class="a1" id="email" size="50" maxlength="70" value=""/>
</label></td>
<td colspan="3"><label>
<input name="emailSecundario" type="text" id="emailSecundario" size="50" maxlength="70" />
</label></td>
</tr>
<tr>
<td class="fonte_ficha"><span class="style1">*</span><strong> Senha: </strong><em>(Deve conter de 6 a 12 caracteres)</em></td>
<td colspan="3" class="fonte_ficha"><span class="style1">*</span><strong> Confirmação de Senha:</strong></td>
</tr>
<tr>
<td><input name="senha" type="password" id="senha" maxlength="12" /></td>
<td colspan="3"><input name="confSenha" type="password" id="confSenha" maxlength="12" /></td>
</tr>
</table>
<br />
<div id="faqSenha2_help" style="width:295px; right:32%; display:none; position:absolute">
<table border="0" bgcolor="#FFFAE8" style="border:1px solid #cccccc;padding:6px 12px 6px 12px;" cellpadding="0" cellspacing="0">

</table>
</div>
<div id="faqSenha_help" style="width:295px; right:40%; display:none; position:absolute">
<table border="0" bgcolor="#FFFAE8" style="border:1px solid #cccccc;padding:6px 12px 6px 12px;" cellpadding="0" cellspacing="0">

</table>
</div>

<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td bgcolor="#F9F9F9" class="fonte_ficha">&nbsp;</td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#F9F9F9" class="fonte_ficha">&nbsp;</td>
<td bgcolor="#F9F9F9" class="fonte_ficha">&nbsp;</td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right" class="ss"><table border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right">&nbsp;</td>
<td align="right"><input name="bt_cadastro_cliente" type="submit" value="Cadastrar" id="bt_cadastro_cliente"></td>
</tr>
</table></td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>



validar.php
<?php
$gmtDate = gmdate("D, d M Y H:i:s");
header("Expires: {$gmtDate} GMT");
header("Last-Modified: {$gmtDate} GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header("Content-Type: text/html; charset=ISO-8859-1");

include "BD_conecta.php";
$email = strtolower($_GET["$email")];

//faz a confirmação do email
$sql = mysql_query("SELECT * FROM clientes WHERE email='$texto'") or die("Erro ao selecionar");
$valido = 1;

for($i=0; $i<sizeof($sql); i++)
//compara o que foi digitado com o bd
if($sql[$i] == $email)
$valido = 0;
if ($valido)
echo "Email OK!";
else
echo "Email já encontra-se cadastrado!";
}

mysql_close($conecta);
?>


Desde já agradeço.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq