Jump to content

jeanpbo

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About jeanpbo

  1. Olá pessoal, Tenho o script abaixo que captura as urls retornadas do resultado da busca do meu banco de dados e abre no navegador e ao mesmo tempo também checa se esta mesma URL que foi aberta está online ou offline, para marcar a situação da url no meu banco. O problema é na rotina da verificação se a url está online ou offline, pois o SELECT que deveria pegar automaticamente a URL que será checada se está online ou offline não está pegando conforme linha abaixo: $sql = “SELECT id, quebrado, url FROM websites where url = $url”; Se eu colocar a URL diretamente no select como no exemplo abaixo, o script funciona normalmente verificando se a url está online ou offline, mas não consigo colocar para o select capturar automaticamente a url sem a necessidade de colocar manualmente. $sql = “SELECT id, quebrado, url FROM websites where url = ‘www.uol.com.br’”; Abaixo está o script completo responsável em capturar uma URL do resultado da busca e abre a url no navegador e também checar se esta mesma url está online ou offline. <?php if(isset($_GET[“url”])){ $url = ($_GET[“url”]); include_once('bd/inc-bd.php'); $arquivo_estatistica = file_get_contents('estatistica/enable.cfg'); if($arquivo_estatistica == "true"){ $estatisticaEnable = true; }else{ $estatisticaEnable = false; } if($estatisticaEnable == true){ $hoje = 'hoje_click'; $mes = 'mes_click'; $ano = 'ano_click'; $stmt = $mysqli -> prepare('call add_statistic( ?, ?, ? )'); $stmt -> bind_param('sss', $hoje, $mes, $ano) && $stmt -> execute(); $mysqli->close(); } header("location: ".$url); }else{ /não tem url/ header(“location: index.php”); } //Aqui começa a rotina da verificação se a url está online ou offline onde não consigo colocar para o SELECT pegar automaticamente a url que foi capturada pelo script include_once(“adminsys/functions_login.php”); set_time_limit(0); /Define o endereço do site/ $sql = “SELECT id, quebrado, url FROM websites where url = $url”; $stmt = $PDO -> prepare($sql); $stmt -> execute(); $contador = 1; while ($website = $stmt->fetch(PDO::FETCH_ASSOC)) { @$verifica = verificarLink($website["url"]); if(($verifica >= 200 )&&($verifica < 400)){ $numero = 0; $stmt_corrige = $PDO -> prepare('call corrige_website( ?, ? )'); $stmt_corrige -> bindParam(1, $website["id"],PDO::PARAM_INT) ; $stmt_corrige -> bindParam(2, $numero, PDO::PARAM_INT) ; if ( $stmt_corrige -> execute() ) { printConsole('-- '.$website["id"].' url corrigida 0 '); } else { printConsole('Erro não conseguiu corrigir 0 - '.$PDO->error); } $contador++; }else{ $numero = 1; $stmt_corrige = $PDO -> prepare('call corrige_website( ?, ?)'); $stmt_corrige -> bindParam(1, $website["id"],PDO::PARAM_INT) ; $stmt_corrige -> bindParam(2, $numero, PDO::PARAM_INT) ; if ( $stmt_corrige -> execute() ) { printConsole('-- '.$website["id"].' url corrigida 1 '); } else { printConsole('Erro não conseguiu corrigir 2 - '.$PDO->error); } $contador++; } } function printConsole($msg){ echo ‘’; } function verificarLink($url){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_NOBODY, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 5); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); $data = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $httpcode; } ?>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.