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


Moderador: web

 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Whois em php + ajax

16-11-2016 09:41

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.&nbsp;</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
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

16-11-2016 10:07

Esse script tem alguns erros. A parte HTML corrigida é essa

<script src="jquery.js"></script> <script> $(function() { $(".btn_domain").click(function() { var domain = $("input#domain").val(); var tipo = $("#tipo option:selected").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; }); }); </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"> <div class="big_title_txt montserrat_font">www.&nbsp;</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="button" value="Verificar" class="subscribe_btn btn_domain background_color"/> </form> <div class="domain_form"></div>

Só que tem um erro de lógica. Qualquer domínio que colocar vai dar sempre a mesma resposta

$('.domain_form').html("<div class='subscribe_message text_color'> <i class='fa fa-check'></i>Domínio disponivel</div>");

Só que a resposta deveria vir do arquivo domain.php de acordo com os dados da consulta.

Creio que deve haver algum erro com esse script do domain.php. Onde você baixou ele?
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Re: Whois em php + ajax

16-11-2016 13:49

Boa tarde web! Muito obrigado pela resposta.
Peguei deste site aqui.

Eu fiquei tentando fazer esse código funcionar, mas o php não mudei, detonei mesmo o código do formulário e do ajax.
Se você tiver algum código para sugerir, por mim seria tranquilo pois minha ideia é uma busca simples, se existir o domínio ele retorna que já existe, se não retorna que está disponível, não pretendo usar essa informação em nenhum outro local do site no momento, só exibir mesmo.
Eu achei diversos exemplos, mas todos exclusivamente em php e minha página está praticamente pronta em html5 com efeitos parallax, slider e outras frescuras.

Agradeço novamente amigo!
Anderson
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

16-11-2016 14:45

Veja se é isso que precisa

<script src="jquery.js"></script> <script> $(function() { $(".btn_domain").click(function() { var domain = $("input#domain").val(); var tipo = $("#tipo option:selected").val(); $(".domain_form").html("Aguarde.."); // alert (domain);//return false; $.ajax({ type: "get", url: "domain.php", data: "dominio="+domain+"&extencao="+tipo+"", success: function(data) { $('.domain_form').html("<div class='subscribe_message text_color'> <i class='fa fa-check'></i>"+data+"</div>"); } }); return false; }); }); </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"> <div class="big_title_txt montserrat_font">www.&nbsp;</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="button" value="Verificar" class="subscribe_btn btn_domain background_color"/> </form> <div class="domain_form"></div>

domain.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, "$domain\r\n"); 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, "$domain\r\n"); 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 .= "<pre>" . trim($buffer) . "</pre>"; } 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, "$domain\r\n"); 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, "$domain\r\n"); 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; } ?> <?php if (!empty($_GET["dominio"])) { $dominio=$_GET["dominio"].$_GET["extencao"]; ?> O Domínio <b> <?php echo $dominio; ?> </b> <?php if (whois($dominio,1) == 1) echo "<br><b> <font color=#FF0000 size=1 face=Verdana, Arial, Helvetica, sans-serif>DOMINIO REGISTRADO</font></b>"; else echo "<br><b><font color=#66CC66 size=1 face=Verdana, Arial, Helvetica, sans-serif>DOMINIO LIVRE </b> </font>";?> </font> <?php } ?>

0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Re: Whois em php + ajax

17-11-2016 11:43

web, Bom dia!
Infelizmente não rodou, preciso setar alguma permissão específica nos arquivos ou no php?
Coloquei a página online, estou ainda editando o layout mas o formulário está conforme passado nela: aqui.

Edit: O sintoma é de que ele fica 'carregando' a página até que o navegador diz que ela não está respondendo ou que ficou sem memória e fechar a janela.

Aguardo seu retorno e muito obrigado pela ajuda até aqui.
Anderson
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

17-11-2016 11:53

A única coisa necessária é o jquery que creio que você já tem porque mostrou o "carregando" e o arquivo domain.php que deve estar no mesmo diretório do script.

Testei no meu servidor nesse link temporário http://codigosnaweb.com/teste.php
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Re: Whois em php + ajax

17-11-2016 15:41

mas seu teste é uma página em php enquanto a minha é html, acho que é isso não?
não consigo fazer em html?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

17-11-2016 16:07

Sim. Meus arquivos são em PHP. Mas só o arquivo domain.php é que é importante ser em PHP porque tem scripts PHP nele.

Se o seu servidor não tem suporte a PHP esse script não vai funcionar.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Re: Whois em php + ajax

17-11-2016 16:14

Web, valeu pela paciência brother, vamos lá acho que agora está quase!

Eu copiei seu jquery por via das duvidas, e não mudou nada.
Então copiei seu teste.php e coloquei no meu servidor aqui. Está funcionando perfeito, então me lembrei que eu tinha outra function (a errada que eu fiz antes) puxando a mesma variavel dentro do meu js que guarda os ajax.
Apaguei do html, coloquei o script do ajax junto dos outros, e mesmo assim ficou carregando sem fim essa joça.

Então eu apaguei todas as referencias do js carregado, colocando o script direto na página como você fez no php e estava no início na minha index. Mas agora recarrega a página. mas na página depois de recarregada não mostra o resultado como no php.
Será que a única solução seria eu carregar uma página php com o formulário dentro de uma div (nem sei se da p fazer mas acho que da)? ou tem jeito de deixar no código da página mesmo?
Minha index: http://superloja.ga/
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

17-11-2016 16:47

Eu não achei no seu site o link direto ao formulário de consulta de domínio.
Pode ser que algum outro script do seu site esteja conflitando. O ideal seria fazer a chamada jQuery no topo do seu documento, na mesma página chamar o formulário de consulta, ai a consulta será feita no domain.php.

Se possível me passa o link direto de onde colocou o formulário no seu site.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Re: Whois em php + ajax

17-11-2016 17:14

Vamos ver se consigo te passar os lugares

http://superloja.ga/ - Site da index que possui o código direto na página html, o script ta direto na página, se procurar no código fonte por dominio vai achar um comment dividindo a parte que é do testador lá.
http://superloja.ga/teste.php - Verificador de domínio separado para teste, que está funcionando sozinho.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

17-11-2016 17:43

Acho que achei o problema.

Se você observar no código-fonte do index.html vai ver que está faltando o carregamento do jQuery

<!-- Dominio ========================================================================= --> <script src="js/jquery.js"></script> <script> // deveria estar aqui $(".btn_domain").click(function() { var domain = $("input#domain").val();

Já no html do teste.php você colocou correto

<link href="css/animate.css" rel="stylesheet"> <script src="js/jquery.js"></script> <script> $(function() { // essa linha $(".btn_domain").click(function() { var domain = $("input#domain").val(); var tipo = $("#tipo option:selected").val();

Também está faltando a div no seu HTML.

<div class="domain_form"></div>

Pega todo HTML do script e cola direto no seu site.

<script src="js/jquery.js"></script> <script> $(function() { $(".btn_domain").click(function() { var domain = $("input#domain").val(); var tipo = $("#tipo option:selected").val(); $(".domain_form").html("Aguarde.."); // alert (domain);//return false; $.ajax({ type: "get", url: "domain.php", data: "dominio="+domain+"&extencao="+tipo+"", success: function(data) { $('.domain_form').html("<div class='subscribe_message text_color'> <i class='fa fa-check'></i>"+data+"</div>"); } }); return false; }); }); </script> <div class="section_content text-center"> <form name="domain_form" method="get"> <div class="big_title_txt montserrat_font">www.&nbsp;</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="button" value="Verificar" class="subscribe_btn btn_domain background_color"/> </form> <div class="domain_form"></div>

0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Tópico Autor
Mensagens: 7
Sexo: Masculino

Re: Whois em php + ajax  #resolvido

17-11-2016 19:09

Consegui usando iFrame e css para deixar ele responsivo!

Resolvido! Muito obrigado de verdade amigo!!!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Re: Whois em php + ajax

17-11-2016 19:23

Eu tinha visto o método que você usou com iframe e funcionou correto. Mas se você fizer o que falei, pegar o bloco do jQuery do teste.php também vai funcionar.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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