Ir para conteúdo
Fórum Script Brasil
  • 0

PHP Parse error: syntax error, unexpected '('


brunohsvallone

Pergunta

Pessoal, bom dia!

Me chamo Bruno, sou novo neste forum, sempre pinta algumas duvidas sobre PHP, e as vezes não tenho com quem contar para tirar duvidas ou sanar problemas.

Estou com um problema estranho, eu estava com um Site hospedado em um Servidor Cpanel comum, e ontem fui transferi-lo para RedeHost.com.br e simplesmente me deparei com um este erro abaixo:

[ PHP Parse error: syntax error, unexpected '(' in E:\Domains\nutricestas.com\wwwroot\visitantes-online.php on line 109 ]

Pelo que entendi, na linha 109 do codigo existe uma falta de um "(" no codigo, que na Redehost acusou o erro, mas não consegui encontrar o local corretamente, alguém poderia me ajudar?

O Codigo está abaixo:

 

<?php
ini_set("display_errors",0);

date_default_timezone_set('America/Manaus');


/**
* Sistema de contador de visitantes online

//  Configurações do Script
// ==============================
$_VO['registraAuto'] = true;       // Registra os visitantes automaticamente?
$_VO['conectaMySQL'] = true;       // Abre uma conexão com o servidor MySQL?

$_VO['cookieTempo'] = 20;          // Quantos minutos a visita dura
$_VO['cookieNome'] = 'VisOnline';  // Nome do cookie usado para identificar o visitante

/*$_VO['servidor'] = 'localhost';    // Servidor MySQL
$_VO['usuario'] = 'root';          // Usuário MySQL
$_VO['senha'] = '';                // Senha MySQL
$_VO['banco'] = 'contador_visitas';            // Banco de dados MySQL*/

$_VO['servidor'] = 'localhost';    // Servidor MySQL
$_VO['usuario'] = 'nutrices_2015';          // Usuário MySQL
$_VO['senha'] = 'Nutri123!@#';                // Senha MySQL
$_VO['banco'] = 'nutrices_2015';            // Banco de dados MySQL

$_VO['tabela_v'] = 'visitas_online'; // Tabela onde os visitantes online serão salvos
$_VO['tabela_r'] = 'visitas_record'; // Tabela onde os recordes de visitas serão salvos
// ==============================

// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================

// Verifica se precisa fazer a conexão com o MySQL
if ($_VO['conectaMySQL'] == true) {
  $_VO['link'] = mysql_connect($_VO['servidor'], $_VO['usuario'], $_VO['senha']) or die("MySQL: Não foi possível conectar-se ao servidor [".$_VO['servidor']."].");
  mysql_select_db($_VO['banco'], $_VO['link']) or die("MySQL: Não foi possível conectar-se ao banco de dados [".$_VO['banco']."].");
}

/**
* Gera o identificador do visitante baseado no IP e na hora
*/
function geraIdentificador() {
  global $_VO;

  return sha1($_VO['cookieNome'].$_SERVER["REMOTE_ADDR"].microtime());
}

/**
* Registra uma visita e/ou pageview para o visitante
*  Esta funçaõ será chamada automaticamente dependendo de $_VO['registraAuto']
*/
function registraVisita() {
  global $_VO;

  // Verifica se os headers já foram enviados. Caso tenham, é gerada uma mensagem de erro
  if (headers_sent()) {
    trigger_error("[VisitantesOnline] Por favor, insira o arquivo antes de qualquer HTML", E_USER_ERROR);
    return false;
  }

  // Verifica se é um visitante que já está no site (se o Cookie existe)
  if (isset($_COOKIE[$_VO['cookieNome']])) {
    $novo = false;
    $identificador = $_COOKIE[$_VO['cookieNome']];
  } else {
    $novo = true;
    $identificador = geraIdentificador();
  }

  // Se o visitante não é novo, tenta atualizar o registro dele na tabela
  if (!$novo) {
    $query = "UPDATE `".$_VO['tabela_v']."` SET `datahora` = NOW() WHERE `identificador` = '".$identificador."' LIMIT 1";
    $resultado = mysql_query($query,$_VO['link']);
    $atualizado = (bool)(mysql_affected_rows($resultado) == 1);
  }

  // Se o visitante é novo OU se o registro dele ele não foi atualizado, insere um novo registro na tabela
  if ($novo || !$atualizado) {
    $query = "INSERT INTO `".$_VO['tabela_v']."` VALUES (NULL, '".$_SERVER["REMOTE_ADDR"]."', '".$identificador."', NOW())";
    mysql_query($query,$_VO['link']);
  }

  // Deleta todos os visitantes com mais de 20min no site, exceto o atual
  //$query = "DELETE FROM `".$_VO['tabela_v']."` WHERE (`datahora` <= (NOW() - INTERVAL ".$_VO['cookieTempo']." MINUTE)) AND `identificador` != '".$identificador."'";
  //mysql_query($query,$_VO['link']);

  // Verifica se é preciso atualizar o recorde de visitas
  $recorde = visitantesRecorde(); // Pega o recorde de visitantes
  $online = visitantesHoje(); // Pega o n° de visitantes atual
  $recorde[1] = (int)$recorde[1];
  $online = (int)$online;
  if ($recorde[1] < $online) {
    
    $query = "UPDATE `".$_VO['tabela_r']."` SET `data` = NOW(), `visitantes` = ".$online;
     mysql_query($query,$_VO['link']);
  }

  // Atualiza o cookie com o identificador do visitante
  setcookie($_VO['cookieNome'], $identificador, time()   ($_VO['cookieTempo'] * 60), '');
  return true;
}

/**
* Função que retorna o total de visitantes online
*/
function visitantesOnline() {
  global $_VO;

  // Faz a consulta no MySQL em função dos argumentos
  $sql = "SELECT COUNT(*) FROM `".$_VO['tabela_v']."`";
  $query = mysql_query($sql,$_VO['link']);
  $resultado = mysql_fetch_row($query);

  // Retorna o valor encontrado ou zero
  return (!empty($resultado)) ? (int)$resultado[0] : 0;
}

function visitantesHoje() {
  global $_VO;

  // Faz a consulta no MySQL em função dos argumentos
  $sql = "SELECT COUNT(*) FROM `".$_VO['tabela_v']."` WHERE DATE(datahora)=CURDATE()";
  $query = mysql_query($sql,$_VO['link']);
  $resultado = mysql_fetch_row($query);

  // Retorna o valor encontrado ou zero
  return (!empty($resultado)) ? (int)$resultado[0] : 0;
}

/**
* Função que retorna a data e o recorde de visitantes online
*/
function visitantesRecorde($formato = 'd/m/Y') {
  global $_VO;

  // Faz a consulta no MySQL em função dos argumentos
  $sql = "SELECT `data`, `visitantes` FROM `".$_VO['tabela_r']."` LIMIT 1";
  $query = mysql_query($sql,$_VO['link']);
  $resultado = mysql_fetch_row($query);

  // Retorna o valor encontrado ou zero
  return (!empty($resultado)) ? array(date($formato, strtotime($resultado[1])), (int)$resultado[1]) : array(date($formato), 0);
}

if ($_VO['registraAuto'] == true) { registraVisita(); }

// Total de Visitas : <?php echo visitantesOnline();
// Recorde: <?php $recorde= visitantesRecorde(); echo $recorde[1];
// Total Hoje: <?php echo visitantesHoje();

 

Obrigado pessoal!


 

 

Editado por brunohsvallone
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Olá!

se a linha 109 for:

setcookie($_VO['cookieNome'], $identificador, time()($_VO['cookieTempo'] * 60), '');

Falta um sinal de mais entre time() e ($_VO['cookieTempo'] * 60), '');

setcookie($_VO['cookieNome'], $identificador, time()+($_VO['cookieTempo'] * 60), '');

 

Editado por lowys
Link para o comentário
Compartilhar em outros sites

  • 0
14 minutos atrás, lowys disse:

Olá!

se a linha 109 for:

setcookie($_VO['cookieNome'], $identificador, time()($_VO['cookieTempo'] * 60), '');

Falta um sinal de mais entre time() e ($_VO['cookieTempo'] * 60), '');


setcookie($_VO['cookieNome'], $identificador, time()+($_VO['cookieTempo'] * 60), '');

 

Link para o comentário
Compartilhar em outros sites

  • 0

Olá! Testei aqui com o sinal de + e não dá erro!

<?php
ini_set("display_errors", 0);
date_default_timezone_set('America/Manaus');


/**
 * Sistema de contador de visitantes online
 *
 * @author Thiago Belem <contato@thiagobelem.net>
 * @link http://thiagobelem.net/
 *
 * @version 1.0
 * @package VisitantesOnline
 */
//  Configurações do Script
// ==============================
$_VO['registraAuto'] = true; // Registra os visitantes automaticamente?
$_VO['conectaMySQL'] = true; // Abre uma conexão com o servidor MySQL?

$_VO['cookieTempo'] = 20; // Quantos minutos a visita dura
$_VO['cookieNome'] = 'VisOnline'; // Nome do cookie usado para identificar o visitante

/* $_VO['servidor'] = 'localhost';    // Servidor MySQL
  $_VO['usuario'] = 'root';          // Usuário MySQL
  $_VO['senha'] = '';                // Senha MySQL
  $_VO['banco'] = 'contador_visitas';            // Banco de dados MySQL */

$_VO['servidor'] = 'localhost'; // Servidor MySQL
$_VO['usuario'] = 'nutrices_2015'; // Usuário MySQL
$_VO['senha'] = 'Nutri123!@#'; // Senha MySQL
$_VO['banco'] = 'nutrices_2015'; // Banco de dados MySQL
//
// verificar se está em localhost
if (preg_match('/^(localhost|was)/', $_SERVER['SERVER_NAME'])) {
   // variáveis para conexão em localhost
   $_VO['servidor'] = 'localhost'; // define o host do banco de dados
   $_VO['usuario'] = 'root'; // user do banco de dados
   $_VO['senha'] = ''; // senha do banco de dados
   $_VO['banco'] = 'scriptbrasil'; // nome do banco de dados
}

$_VO['tabela_v'] = 'visitas_online'; // Tabela onde os visitantes online serão salvos
$_VO['tabela_r'] = 'visitas_record'; // Tabela onde os recordes de visitas serão salvos
// ==============================
// ======================================
//   ~ Não edite a partir deste ponto ~
// ======================================
// Verifica se precisa fazer a conexão com o MySQL
if ($_VO['conectaMySQL'] == true) {
   $_VO['link'] = mysql_connect($_VO['servidor'], $_VO['usuario'], $_VO['senha'])or die("MySQL: Não foi possível conectar-se ao servidor [" . $_VO['servidor'] . "].");
   mysql_select_db($_VO['banco'], $_VO['link'])or die("MySQL: Não foi possível conectar-se ao banco de dados [" . $_VO['banco'] . "].");
}

/**
 * Gera o identificador do visitante baseado no IP e na hora
 */
function geraIdentificador() {
   global $_VO;
   return sha1($_VO['cookieNome'] . $_SERVER["REMOTE_ADDR"] . microtime());
}

/**
 * Registra uma visita e/ou pageview para o visitante
 *  Esta função será chamada automaticamente dependendo de $_VO['registraAuto']
 */
function registraVisita() {
   global $_VO;

   // Verifica se os headers já foram enviados. Caso tenham, é gerada uma mensagem de erro
   if (headers_sent()) {
      trigger_error("[VisitantesOnline] Por favor, insira o arquivo antes de qualquer HTML", E_USER_ERROR);
      return false;
   }

   // Verifica se é um visitante que já está no site (se o Cookie existe)
   if (isset($_COOKIE[$_VO['cookieNome']])) {
      $novo = false;
      $identificador = $_COOKIE[$_VO['cookieNome']];
   } else {
      $novo = true;
      $identificador = geraIdentificador();
   }

   // Se o visitante não é novo, tenta atualizar o registro dele na tabela
   if (!$novo) {
      $query = "UPDATE `" . $_VO['tabela_v'] . "` SET `datahora` = NOW() WHERE `identificador` = '" . $identificador . "' LIMIT 1";
      $resultado = mysql_query($query, $_VO['link']) or die(mysql_error());
      $atualizado = mysql_affected_rows($resultado);
   }

   // Se o visitante é novo OU se o registro dele ele não foi atualizado, insere um novo registro na tabela
   if ($novo || !$atualizado) {
      $query = "INSERT INTO `" . $_VO['tabela_v'] . "` VALUES (NULL, '" . $_SERVER["REMOTE_ADDR"] . "', '" . $identificador . "', NOW())";
      mysql_query($query, $_VO['link']);
   }

   // Deleta todos os visitantes com mais de 20min no site, exceto o atual
   //$query = "DELETE FROM `".$_VO['tabela_v']."` WHERE (`datahora` <= (NOW() - INTERVAL ".$_VO['cookieTempo']." MINUTE)) AND `identificador` != '".$identificador."'";
   //mysql_query($query,$_VO['link']);
   // Verifica se é preciso atualizar o recorde de visitas
   $recorde = visitantesRecorde(); // Pega o recorde de visitantes
   $online = visitantesHoje(); // Pega o n° de visitantes atual
   $recorde[1] = (int) $recorde[1];
   $online = (int) $online;
   if ($recorde[1] < $online) {

      $query = "UPDATE `" . $_VO['tabela_r'] . "` SET `data` = NOW(), `visitantes` = " . $online;
      mysql_query($query, $_VO['link']) or die(mysql_error());
   }

   // Atualiza o cookie com o identificador do visitante
   setcookie($_VO['cookieNome'], $identificador, time() + ( $_VO['cookieTempo'] * 60 ), '');
   return true;
}

/**
 * Função que retorna o total de visitantes online
 */
function visitantesOnline() {
   global $_VO;

   // Faz a consulta no MySQL em função dos argumentos
   $sql = "SELECT COUNT(*) FROM `" . $_VO['tabela_v'] . "`";
   $query = mysql_query($sql, $_VO['link']) or die(mysql_error());
   $resultado = mysql_fetch_row($query);

   // Retorna o valor encontrado ou zero
   return (!empty($resultado) ) ? (int) $resultado[0] : 0;
}

function visitantesHoje() {
   global $_VO;

   // Faz a consulta no MySQL em função dos argumentos
   $sql = "SELECT COUNT(*) FROM `" . $_VO['tabela_v'] . "` WHERE DATE(datahora)=CURDATE()";
   $query = mysql_query($sql, $_VO['link']) or die(mysql_error());
   $resultado = mysql_fetch_row($query);

   // Retorna o valor encontrado ou zero
   return (!empty($resultado) ) ? (int) $resultado[0] : 0;
}

/**
 * Função que retorna a data e o recorde de visitantes online
 */
function visitantesRecorde($formato = 'd/m/Y') {
   global $_VO;

   // Faz a consulta no MySQL em função dos argumentos
   $sql = "SELECT `data`, `visitantes` FROM `" . $_VO['tabela_r'] . "` LIMIT 1";
   $query = mysql_query($sql, $_VO['link']) or die(mysql_error());
   $resultado = mysql_fetch_row($query);

   // Retorna o valor encontrado ou zero
   return (!empty($resultado) ) ? array(date($formato, strtotime($resultado[1])), (int) $resultado[1]) : array(date($formato), 0);
}

if ($_VO['registraAuto'] == true) {
   registraVisita();
}
?>
<p>Total de Visitas : <?= visitantesOnline(); ?></p>
<p>Recorde: <?php $recorde = visitantesRecorde();
echo $recorde[1]; ?></p>
<p>Total Hoje: <?= visitantesHoje(); ?></p>

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...