Ir para conteúdo

POWERED BY:

Arquivado

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

Jonathan Alencar

[Resolvido] Alguem sabe como se faz?

Recommended Posts

Olá pessoal tudo bem?

 

Bom gostaria de saber de vocês se tem como fazer uma pesquisa de domínio tipo aqueles que agente

faz em campo de texto pra quando agente vai registrar um novo usuário. Aparece aquele gif procurando

se tem fica vermelho se não tem fica verdinho.

 

Algo assim, porém sendo em whois. Achei pela internet códigos pagos e códigos gratuitos mais geralmente

os gratuitos não funcionam corretamente. Tipo isso aqui Exemplo

 

Eu não intendo bulhufas de Ajax por isso pesso humildemente a ajuda de vocês.

 

Desde já agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ajudar é diferente de produzir um script e postar pronto pra você.

 

vamos lá.. você precisa de uma linguagem server-side, para ir lá no site do whois pegar oq precisa, fazendo o post da informação, e te devolver se existe ou não.

 

ou seja, a parte 'dificil' será toda com php, asp, java..

 

 

superada essa parte, ai sim você pode pensar em ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, no caso a parte em php eu já tenho whois funcionando legal.

 

Porém não intendo bulhufas de ajax é possível adaptar esse script pra que

ele realize a pesquisa sem atualizar a pagina?

 

Desde já agradeço!.

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, é possível.

 

ajax é praticamente 'ir no servidor e voltar'.

nessa 'ida', você pode enviar dados, via POST, GET...

 

a 'volta', será texto puro... xml, json, html..

 

dá uma olhada aqui por exemplo

http://forum.imasters.com.br/index.php?/topic/403171-pagina-dentro-de-div-ajax-problema-ao-atualizar/page__view__findpost__p__1581230

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, é possível.

 

ajax é praticamente 'ir no servidor e voltar'.

nessa 'ida', você pode enviar dados, via POST, GET...

 

a 'volta', será texto puro... xml, json, html..

 

dá uma olhada aqui por exemplo

http://forum.imasters.com.br/index.php?/topic/403171-pagina-dentro-de-div-ajax-problema-ao-atualizar/page__view__findpost__p__1581230

 

Olá William Bruno, fico muito grato pela ajuda.

 

Estou percebendo que o ajax ele é puro javascript estou certo?

 

Estou vendo também que eu posso pegar qualquer script em php e fazer um post de um formulario com

mootools e efetuar uma requisicao em ajax via php estou certo?

 

Achei este site Site e dentro tem um exemplo deste.

porém não sei como tratar a requisição.

 

No caso tenho um post para um arquivos whois esse arquivo consulta e retorna a consulta para um arquivo chamado

sucesso.php esse arquivo trata a resposta do whois. No caso não faria necessário o sucesso.php utilizando o ajax.

 

Você teria algum exemplo prático de um post e resposta da requisição?

 

Desde já fico eternamente grato pela ajuda que você está me fornecendo.

 

Para você poder visualizar o que estou fazendo você pode acessar o link do meu site: SetorDigital - Novo :)

 

Desculpe só acertando o link de meu site para ir diretamente a página na qual tem o whois.

 

Link certo.

 

Obrigado e desculpe esta nova postagem.

 

Olá william consegui fazer o esquema pra que ele não atualize a página e faça a pesquisa.

Ficou bacana agora estou com problemas no whois o que eu estava utilizando apesar de funcionar corretamente não consigo adaptar ele.

 

Aqui o link do codigo funcionando Link

Como pude constatar a busca de domínios .com.br está funcionando corretamente.

Porém o código do whois pra .com não está, ele sempre exibe que já está registrado.

 

Abaixo o codigo.

 

Formulário:

 

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

//Cria a função com os campos para envio via parâmetro

function setarCampos() {

campos = "dominio="+encodeURI(document.getElementById('dominio').value).toLowerCase()+"&extencao="+encodeURI(document.getElementById('extencao').value);

}

</script>
<body bgcolor="#F7F7F7">
<form action="processar.php" method="post" onSubmit="setarCampos(); enviarForm('processar.php', campos, 'mensagem'); return false;">www.
<input type="text" name="dominio" id="dominio" style="width:150px;padding:7px;border:1px solid #BEBEBE;font-size:11px;" />
<select name="extencao" id="extencao" style="width:100px;padding:6px;border:1px solid #BEBEBE;font-size:11px;">
 <option>.com.br</option>
 <option>.com</option>
</select>
<input type="submit" value="Consultar" />
<div id="mensagem"/> 
</form>

</body>

 

 

Script.js

 

var navegador = navigator.userAgent.toLowerCase(); //Cria e atribui à variável global 'navegador' (em caracteres minúsculos) o nome e a versão do navegador

//Cria uma variável global chamada 'xmlhttp'
var xmlhttp;

//Função que inicia o objeto XMLHttpRequest

function objetoXML() {

   if (navegador.indexOf('msie') != -1) { //Internet Explorer

       var controle = (navegador.indexOf('msie 5') != -1) ? 'Microsoft.XMLHTTP' : 'Msxml2.XMLHTTP'; //Operador ternário que adiciona o objeto padrão do seu navegador (caso for o IE) à variável 'controle'

       try {

           xmlhttp = new ActiveXObject(controle); //Inicia o objeto no IE

       } catch (e) { }

   } else { //Firefox, Safari, Mozilla

       xmlhttp = new XMLHttpRequest(); //Inicia o objeto no Firefox, Safari, Mozilla

   }

}

//Função que envia o formulário

function enviarForm(url, campos, destino) {

   //Atribui à variável 'elemento' o elemento que irá receber a página postada
   var elemento = document.getElementById(destino);

   //Executa a função objetoXML()
   objetoXML();

   //Se o objeto de 'xmlhttp' não estiver true
   if (!xmlhttp) {

       //Insere no 'elemento' o texto atribuído
       elemento.innerHTML = 'Impossível iniciar o objeto XMLHttpRequest.';

       return;

   } else {

       //Insere no 'elemento' o texto atribuído
       elemento.innerHTML = '<div style="font-family:Arial;font-size:11px;font-weight:bold;"><img src="images/carregando.gif" /> Verificando...</div>';

   }

   xmlhttp.onreadystatechange = function () {

       //Se a requisição estiver completada
       if (xmlhttp.readyState == 4 || xmlhttp.readyState == 0) {

           //Se o status da requisição estiver OK
           if (xmlhttp.status == 200) {

               //Insere no 'elemento' a página postada
               elemento.innerHTML = xmlhttp.responseText;

           } else {

               //Insere no 'elemento' o texto atribuído
               elemento.innerHMTL = 'Página não encontrada!';

           }

       }

   }

   //Abre a página que receberá os campos do formulário
   xmlhttp.open('POST', url+'?'+campos, true);

   //Envia o formulário com dados da variável 'campos' (passado por parâmetro)
   xmlhttp.send(campos);

}

 

processar.php

 

<?php

$dominio  = $_GET['dominio'].$_GET['extencao'];
$extencao = $_GET['extencao'];

function checkDomain($dominio){ // #######################################

if($extencao = ".com.br"){
       // liga-se ao servidor de whois e chega dominios .com.br
       $con = fsockopen('whois.nic.br', 43);
       if (!$con) return false;
       // manda um pedido com o dominio
       fputs($con, $dominio."\r\n");
       // guarda a resposta do servidor
       $response = ' :';
       while(!feof($con)) {
           $response .= fgets($con,128);
       }
       // fecha a ligação
       fclose($con);
       // verifica se o dominio existe
       if (strpos($response, 'No match for')){
           return true;
       } else {
           return false;  
}
}

// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ //		

if($extencao = ".com"){
       // liga-se ao servidor de whois e chega dominios .com.br
       $con = fsockopen('whois.nsiregistry.com', 43);
       if (!$con) return false;
       // manda um pedido com o dominio
       fputs($con, $dominio."\r\n");
       // guarda a resposta do servidor
       $response = ' :';
       while(!feof($con)) {
           $response .= fgets($con,128);
       }
       // fecha a ligação
       fclose($con);
       // verifica se o dominio existe
       if (strpos($response, 'No match for')){
           return true;
       } else {
           return false;  
}
}

} // #########################################################

if (checkDomain($dominio))
	echo '<div style="font-family:Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#009900">O domínio '.$dominio.' está disponível para registro</div>';
 else 
	echo '<div style="font-family:Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#FF0000">O domínio '.$dominio.' não está disponível para registro</div>';
?>

 

Bom se você puder me ajudar com o whois ficarei muito grato.

 

Desde já agradeço..

 

Atenciosamente,

Jonathan!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos muito obrigado pela ajuda que me forneceram já consegui realizar o que estava precisando.

Abaixo segue o link para download do Whois + Ajax sem refresh na página.

Deu muito trabalho para ser feito não removam os créditos sejam legais. :)

Este whois somente faz pesquisas de domínios tipo.

 

Obs: o código acima esta desatualizado então não tentem utiliza-lo pois não vai funcionar corretamente.

baixem o que está no link abaixo.

 

.com.br

.com

.net

.org

.info

 

Porém é de fácil implementação novas extenções de domínios.

 

Link para Download

 

Abraço pessoal comentem sobre o código!

Ps: Obrigado William bruno você me forneceu o caminho e eu o percorri!. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom código amigo, claro que eu pessoalmente mudaria umas coisinhas =) mas está funcional e isso é o que importa ^_^

 

Titulo editado:

Alguem sabe como se faz? http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Ajax + PHP + Whois

 

Atenciomsante Silverfox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom código amigo, claro que eu pessoalmente mudaria umas coisinhas =) mas está funcional e isso é o que importa ^_^

 

Titulo editado:

Alguem sabe como se faz? http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Ajax + PHP + Whois

 

Atenciomsante Silverfox

 

Obrigado :)

 

Bom de qualquer forma se for util pra você fique avontade de mudar o código da forma que lhe cair bem :P

 

Vou dar uma atualizada vi que falta um case pra quando quando o campo é nulo..

 

Forte abraço.

 

Atenciosamente

Jonathan!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ps: Obrigado William bruno você me forneceu o caminho e eu o percorri!. :)

 

Opa! Parabéns cara !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala galera uma pequena atualização no código do arquivo processar.php

 

Atualização:

 

Nessa atualização eu coloquei uma condição caso o usuário não digite nada e simplesmente não aconteça nada.

Agora aparece "Digite um domínio".rs

 

Abraço!

 

<?php

#####################################################
#                                                   #
#	    Código por Jonathan Alencar             #
#	    Whois com Ajax sem atualizar            #
#		    Versão 1.0                      #
#	       www.setordigital.com.br              #
#	     contato@setordigital.com.br            #
#                                                   #
#      	    Este é um código livre favor não        #
#	     remover os créditos seja legal         #
#                                                   #
#####################################################


   function checkDomain($domain,$server,$findText){

       $con = fsockopen($server, 43);
       if (!$con) return false;

       fputs($con, $domain."\r\n");


       $response = ' :';
       while(!feof($con)) {
           $response .= fgets($con,128); 
       }


       fclose($con);


       if (strpos($response, $findText)){
           return true;
       }
       else {
           return false;   
       }
   }

   function showDomainResult($domain,$server,$findText){

 if (checkDomain($domain,$server,$findText)){

  echo '<div style="font-family:Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#009900">O '.$domain.' está disponível para registro</div>';

  } else {

   echo '<div style="font-family:Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#FF0000;">O '.$domain.' não está disponível para registro</div>
';
}

}

 if (isset($_GET['extencao'])){

	$domainbase = (isset($_GET['dominio'])) ? $_GET['dominio'] : '';
if($domainbase == ""){
	echo '<div style="font-family:Arial, Helvetica, sans-serif;font-size:11px;font-weight:bold;color:#0066FF;">Digite um domínio</div>';
} else {
	$domainbase = (isset($_GET['dominio'])) ? $_GET['dominio'] : '';
}


       $d_com_br   = (isset($_GET['extencao'])) ? 'com.br' : '';  
	$d_com      = (isset($_GET['extencao'])) ? 'com' : '';    
       $d_net      = (isset($_GET['extencao'])) ? 'net' : '';    
       $d_org      = (isset($_GET['extencao'])) ? 'org' : '';    
       $d_info     = (isset($_GET['extencao'])) ? 'info' : '';    

       if (strlen($domainbase)>2){

 $extencao = $_GET['extencao'];

	  if($extencao == ".com.br"){
	 	 if (($d_com != '') || ($d_all != '') ) showDomainResult($domainbase.".com.br",'whois.registro.br','No match for');
	  }

	  if($extencao == ".com"){
	 	 if (($d_com != '') || ($d_all != '') ) showDomainResult($domainbase.".com",'whois.crsnic.net','No match for');
	  }

	  if($extencao == ".net"){
	  	if (($d_net != '') || ($d_all != '') ) showDomainResult($domainbase.".net",'whois.crsnic.net','No match for');
	  } 

	  if($extencao == ".org"){
	  	if (($d_org != '') || ($d_all != '') ) showDomainResult($domainbase.".org",'whois.publicinterestregistry.net','NOT FOUND');
	  }

	  if($extencao == ".info"){
	  	if (($d_info != '') || ($d_all != '') ) showDomainResult($domainbase.".info",'whois.afilias.net','NOT FOUND');
	  }

       }
   }
?>

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.