Buscar informação no banco de dados
Estou utilizando o Spry do Dreamweaver para validar os campos digitados no formulário, porém, além dessa validação, em alguns campos (CPF, CNPJ e login) eu preciso verificar o banco de dados pra checar se já existe algum cadastro com esses dados e não permitir cadastro duplicados com essas informações.
Com a utilização do Spry precisaria fazer essa verificação nos mesmos moldes, com ajax/javascript e on Blur, ou seja, assim que o usuário sair do campo.
A princípio eu teria 3 passos:
1. Adicionar a informação no campo para chamar a função javascript em on Blur;
2. A Função javascript acionaria o código php para fazer a verificação e retornar o resultado;
3. Em caso de existir valor semelhante mostrar a mensagem de erro.
Parece simples até, mas para os meus ínfimos conhecimentos, não consigo fazer.. procurei pela net e não achei nada que eu pudesse ou conseguisse adaptar.
Abaixo meu campo, como exemplo, do CPF - com a validação Spry e auto-formatação:
<span id="sprytextfield3">
<input name="acadind_cpf" type="text" id="acadind_cpf" size="15" maxlength="14" onkeypress="formatar_mascara(this, '###.###.###-##')" /> <a href="#" class="ajuda"><img src="img/ajuda.gif" alt="ajuda" width="16" height="16" border="0" /><span>use somente números.</span></a><span class="textfieldRequiredMsg"><img src="img/erro.gif" alt="erro" />O campo CPF está em branco.</span></span>
* como eu incluo o passo 1 e o 3?
* como seria a função para chamar a pág. PHP?
Para verificar a existência de determinado dado em PHP eu faria assim, se fosse após o submit do form:
<?php
$acadind_cpf = $_GET['acadind_cpf'];
$busca_cpf = mysql_query("SELECT * FROM cadastros WHERE acadind_cpf = '$acadind_cpf'");
$tem_cpf = mysql_num_rows($busca_cpf);
if ($tem_cpf) {
echo("<script>
alert(\"Já existe um cadastro com este CPF em nosso banco de dados\");
window.location = 'java script:history.back(-1)';
</script>");
break;
}
?>Dessa forma, é claro funciona, mas aí eu teria que recarregar a página e usar session para o form trazer todos os dados digitados. Então, utilizando-se ajax/javascript esse código teria que ser alterado para voltar ao javascript retornar a mensagem de erro.
Bem, espero ter sido claro, mesmo porquê não sei se o raciocínio está correto em termos do caminho a percorer para realizar essa ação.
Discussão (26)
Carregando comentários...