Jump to content


Photo

Verificar Se Varialvel Tem Algum Valor


  • Faça o login para participar
7 replies to this topic

#1 EFH

EFH

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 15/08/2012, 19:36

Olá eu estou tentando pegar informações do google analytics via php e em algumas páginas, que não tem visitas no periodo de tempo determinado, aparae a seguinte mensagem na tela:

Fatal error: Call to a member function getUniquepageviews() on a non-object in /home/a4606592/public_html/index.php on line 489

O erro aparece pq não há registro da página no google analytics pq ela ainda não foi visitada, mas teria como eu fazer uma verificação,antes de imprimir o resultado se, se existe ou não o registro, e se não mostrar apenas uma mensagem?

O código que eu uso é esse?

<?php
$ga = new gapi($ga_email,$ga_password);
$ga->requestReportData($ga_profile_id, array('date'),array('pageviews'), 'date', 'pagePath == '.$ga_url);    

$results = $ga->getResults();

?>   


<?php
$ga->requestReportData($ga_profile_id, 'pagePath', array('pageviews', 'uniquePageviews', 'exitRate', 'avgTimeOnPage', 'entranceBounceRate'), null, 'pagePath == '.$ga_url, $startDate, $endDate);
$results = $ga->getResults();

function secondMinute($seconds) {
    $minResult = floor($seconds/60);
    if($minResult < 10){$minResult = 0 . $minResult;}
    $secResult = ($seconds/60 - $minResult)*60;
    if($secResult < 10){$secResult = 0 . round($secResult);}
    else { $secResult = round($secResult); }
    return $minResult.":".$secResult;
}
echo '<div id="page-analtyics">';
foreach($results as $result) {
    echo '<div style="clear: left;"></div>';
}
echo '</div>';
?>


e para imprimir o resultado na tela esse:

<?php
$visits = number_format($result->getUniquepageviews()) ;
if ($visits <= 1) {
echo "sem visitas";
} else {
echo $visits ;
}?>

Me ajudem ai, isso está me deixando loco.VLW

#2 Ticreca

Ticreca

    Normal

  • Usuários
  • 105 posts
  • Sexo:Masculino

Posted 17/08/2012, 10:54

e para imprimir o resultado na tela esse:

<?php
$visits = number_format($result->getUniquepageviews()) ;
if ($visits <= 1) {
echo "sem visitas";
} else {
echo $visits ;
}?>

Me ajudem ai, isso está me deixando loco.VLW

use o isset
é uma funcao nativado PHP...
if(isset($visits)){

}
else
{

}


#3 EFH

EFH

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 17/08/2012, 16:47

vle pela ajuda Ticreca, mas acontece que não resolveu. Continua dando o seguinte erro:

Fatal error: Call to a member function getUniquepageviews() on a non-object in /home/a4606592/public_html/index.php on line 487

eu já tentei de tudo e não consigo resolver, o erro sempre aparece e o resto do script não carrega.Eu já tentei usar os seguintes scripts:

<?php

$visits;

if(!empty($visits)){echo $visits;}
else {
echo 'sem visitas ;
}
?>

<?php
if (!$visits) {
    echo 'sem visitas;
    exit;
}else {
echo $visits ;
}?>

e já tentei fazer excessão de erro com php, so que nada impede que o erro apareça. Como eu resolvo isso? me ajudem ai.

#4 perick

perick

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Masculino

Posted 18/08/2012, 00:36

<?php
$visits = number_format($result->getUniquepageviews()) ;
if ($visits <= 1) {
echo "sem visitas";
} else {
echo $visits ;
}?>



Por algum acaso, você está declarando corretamente a variável $result?

Você está dando um include desse arquivo?

Por que se for esse o unico arquivo, você está chamando o método getUniquepageviews() sem ter passado a classe para a variável $result.

#5 EFH

EFH

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 18/08/2012, 17:35

Por algum acaso, você está declarando corretamente a variável $result?


Sim perick eu estou declarando corretamente sim, no caso essa variavel vem do google analytics, como vc pode ver no script que eu coloquei no primeiro post. Eu sei exatamente o porque do erro, é porque quando o scrip busca a url da pagina no google analytics e a pagina não tem nenhuma visita é como se ela não existisse, então retorna o erro falando que não é possivel imprimir o resultado, se a pagina tiver alguma visita ele funciona normalmente e mostra as visitas. Eu queria saber se ao ives de mostrar o erro quando não tiver nenhuma visita ele mostrar apenas uma mensagem tipo "Sem visitas" e continuar rodando todo o scrip, pois como o erro que aparece é um fatal error ele interrompe o script. Vlw pela ajuda.

#6 EFH

EFH

    Novato no fórum

  • Usuários
  • 5 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 23/08/2012, 19:26

pessoal alguem pode me ajudar ai?

#7 _Samuca_

_Samuca_

    samuelmachado.com

  • Usuários
  • 1062 posts
  • Sexo:Masculino
  • Localidade:São Bento do Sul - SC

Posted 13/09/2012, 08:33

Já tentou assim?

if($result->getUniquepageviews()){
   $visits = number_format($result->getUniquepageviews()) ;
   if ($visits <= 1) {
      echo "sem visitas";
   } else {
      echo $visits;
   }
}

--
Samuel Machado
www.samuelmachado.com

#8 pyro3x

pyro3x

    E

  • Usuários
  • 201 posts
  • Sexo:Masculino

Posted 20/09/2012, 23:40

Bom, parece que esse método não existe na classe instanciada "$ga".

Fatal error: Call to a member function getUniquepageviews() on a non-object in /home/a4606592/public_html/index.php on line 487


Você pode fazer um teste utilizando a função "method_exists()"

if(method_exists($ga,'getUniquepageviews')){
$uniquepageviews = $ga->getUniquepageviews();
}else{
echo 'Método não existe.';
}


Para ver os métodos que a classe que você está trabalhando possui, ou acesse o código ou faça isso:


$class_methods = get_class_methods($ga);

foreach ($class_methods as $method_name) {
    echo "$method_name\n";
}

Edição feita por: pyro3x, 20/09/2012, 23:42.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq