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;
/**
* 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) {
// 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();
Pergunta
brunohsvallone
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!
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
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.