Whois em php + ajax - não consigo fazer funcionar

16/11/2016

0

Bom dia!
Pessoal estou tentando fazer um formulário de pesquisa para saber se existe um domínio cadastrado ou não, e então responder.

A página de entrada da informação (domínio desejado) e saída (retorno pelo AJAX) é html.

Código da parte de html:
<script src="js/script.js"></script>

	<section id="dominio" class="container">	
		<div class="big_title">
			<div class="big_title_txt montserrat_font">Verifique os domínios disponíveis</span></div>
			<div class="text_und_big_title">
				Com esta ferramenta você já pode saber quais endereços na internet estão liberados para sua futura loja virtual
			</div>
			<div class="big_title_txt_separ background_color"></div>
		</div>
		<div class="section_content text-center">
			<form name="domain_form" method="get" class="domain_form">
				<div class="big_title_txt montserrat_font">www. </div>
                <input type="text" class="subscribe_form_input" id="domain" name="domain" placeholder="endereço da sua loja aqui..." required/>
                <select name="tipo" class="subscribe_form_input2" id="tipo">
   				<option value=".com.br">.com.br</option>
                <option value=".net.br">.net.br</option>
 				<option value=".com">.com</option>
   				<option value=".net">.net</option>    
                <option value=".org">.org</option>    
				</select>
				<input type="submit" value="Verificar" class="subscribe_btn btn_domain background_color"/>
			</form>


A partir disso temos o whois em dominio.php:
<?php
function whois ($domain, $tipo){
    $buffer=""; $dados="";
    $server[0] = "whois.registro.br";
    $server[1] = "whois.internic.net";
    $server[2] = "whois.networksolutions.com";
    $domain = strtolower($domain);
    if (trim($domain) <> ""){
        $domain = trim($domain);
        $final = substr($domain, -4);
        if (substr("$domain", -3) == ".br"){
            $br = fsockopen($server[0], 43, $errno, $errstr, 30);
            if (!$br){
                $dados .= "$errstr ($errno)";
            }
            else {
                fputs($br, "$domainrn");
                while (!feof($br)){
                    $buffer .= fread($br,128);
                }
                if ($tipo == 1){
                    if (strpos($buffer, "No match for") > 0) $dados .= false; else $dados .= true;
                }
                else {
                    $dados .= str_replace("n","<BR>n",trim($buffer));
                }
                fclose ($br);
            }
        }
        elseif (($final == '.com') OR ($final == '.net') OR ($final == '.org') OR ($final == '.edu')){
            $internic = fsockopen($server[1], 43, $errno, $errstr, 30);
            if (!$internic){
                $dados .= "$errstr ($errno)";
            }
            else {
                fputs($internic, "$domainrn");
                while (!feof($internic)){
                    $buffer .= fread($internic,128);
                }
                if ($tipo == 1){
                    if (strpos($buffer, "No match for") > 0) $dados .= false; else $dados .= true;
                }
                else {
                    if (strpos($buffer, "No match for") > 0){
                        $dados .= trim($buffer);
                    }
                    else {
                        $servidor = substr($buffer, strpos($buffer, "Whois Server:")+14, strlen($buffer));
                        $servidor = substr($servidor, 0, strpos($servidor, "n"));
                        $entidade = fsockopen("$servidor", 43, $errno, $errstr, 30);
                        if (!$entidade){
                            $dados .= "$errstr ($errno)";
                        }
                        else {
                            $buffer .= "-------------------------------------------------------------------------------<BR> <BR>";
                            fputs($entidade, "$domainrn");
                            while (!feof($entidade)){
                                $buffer .= fread($entidade,128);
                            }
                            $dados .= str_replace("n","<BR>n",trim($buffer));
                            fclose ($entidade);
                        }
                    }
                }
                fclose ($internic);
            }
 
        }
        else {
            $network = fsockopen($server[2], 43, $errno, $errstr, 30);
            if (!$network){
                $dados .= "$errstr ($errno)";
            }
            else {
                fputs($network, "$domainrn");
                while (!feof($network)){
                    $buffer .= fread($network,128);
                }
                if ($tipo == 1){
                    if (strpos($buffer, "NOT FOUND") > 0) $dados .= false; else $dados .= true;
                }
                else {
                    $dados .= str_replace("n","<BR>n",trim($buffer));
                }
                fclose ($network);
            }
        }
    }
    return $dados;
}
?>


E o AJAX no arquivo script.js:
	$(".btn_domain").click(function() { 
		
		var domain = $("input#domain").val();
		
		//alert (domain);//return false;  
		$.ajax({  
		  type: "get",  
		  url: "domain.php",  
		  data: (domain, tipo), 
		  data: {'dados':(domain,tipo)}, 
		  success: function() { 
			$('.domain_form').html("<div class='subscribe_message text_color'> <i class='fa fa-check'></i>Domínio disponivel</div>");
			  
		  }
		});  
		return false;		
     
	}); 


Nesse arquivo script eu tenho contato e newsletter em AJAX rodando sem problemas, e ambos puxando outros php e retornando no html em uma div. Estou extremamente enferrujado e o código do whois eu peguei na internet, o form html peguei do mesmo lugar (só apliquei as classes de css) e o AJAX eu copiei dos outros dois que já tinha funcionando, tentei fazer um meche mas não pegou.

Poderiam me ajudar a fazer esse monstro funcionar?
Obs.: Não dá mensagem de erro, só trava a página.

Agradeço desde já,
Anderson
Anderson Vasconcellos

Anderson Vasconcellos

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar