Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17519
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Disponibilidade de nome no MySQL via JavaScript

18-03-2007 15:57

Nesse artigo você vai ver uma forma "sem usar AJAX" de retornar a disponibilidade de um nome para cadastro.

Vamos trabalhar com 2 arquivos:
O formulário e o arquivo de verificação no BD.

FORMULÁRIO:

<form name="form"> Seu nome <input type="text" name="nome" value=""> <!-- O campo abaixo envia o valor do campo nome para ser verificado no BD //--> <input type=button onClick="window.open('verifica.php?envio=sim&valor='+document.form.nome.value,'abreaqui','')" value="Disponível?"> </form> <!-- O iframe é uma âncora para receber ocultamente o resultado da consulta //--> <iframe src="" name="abreaqui" style="width:0px;height:0px;"></iframe> <!-- O campo abaixo vai receber os dados que verifica.php vai enviar de acordo com o resultado //--> <span id="resultado"></span>

VERIFICAÇÃO NO BD ( verifica.php )

Essa verificação é baseada em um tabela que há uma coluna chamada "nome"

<?php // CONEXÃO COM O BD ?> <?php $envio = $_GET['envio']; /* RECEBE VIA GET O PEDIDO DE VERIFICAÇÃO */ if($envio=="sim") { $valor = $_GET['valor']; /* PROCURA NA SUA TABELA ONDE nome SEJA IGUAL AO VALOR PASSADO */ $selec = "SELECT * FROM suatabela WHERE nome='$valor'"; $exec = mysql_query($selec, $conexao) or die(mysql_error()); $total = mysql_num_rows($exec); ?> <?php /* SE ENCONTRAR NA TABELA O VALOR PASSADO RETORNA INDISPONÍVEL */ if($total=="1") { while($dados=mysql_fetch_array($exec)) { $nome = $dados['nome']; print <<< HERE <script language="JavaScript"> /* PASSAMOS AQUI A RESPOSTA PARA O DOCUMENTO PRINCIPAL */ parent.document.getElementById("resultado").innerHTML="$valor está indisponível"; </script> HERE; } /* CASO CONTRÁRIO RETORNA DISPONÍVEL */ } else { print <<< HERE <script language="JavaScript"> /* PASSAMOS AQUI A RESPOSTA PARA O DOCUMENTO PRINCIPAL */ parent.document.getElementById("resultado").innerHTML="$valor está disponível"; </script> HERE; } } ?>

0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado