Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
Eder

(Resolvido) Contador de Visitas

Question

Ola..

pessoal

peguei um esqueminha pra fazer um contador de visitas e funcionou legal, porem ele é feito em PHP, e depois é chamado em PHP(outro arquivo)..porem eu teria que chamar de um HTM, pois minha página onde será mostrada o contador de visitas é em HTM, ai ferrou não tou conseguindo chamar o PHP

Este é o esqueminha que estou usando:

arquivo:

CONTADOR.PHP

<html>
<body BACKGROUND="fundo_geral.png">
<?
$FILE = "contador.txt";
$IMG_DIR = "./numeros/";
$n_digitos = 4;
if (file_exists($FILE)) {
$fp = fopen("$FILE", "r+");
flock($fp, 1);
$count = fgets($fp, 4096);
$count += 1;
fseek($fp,0);
fputs($fp, $count);
flock($fp, 3);
fclose($fp);
} else {
echo "n consigo encontrar o ficheiro, check '\$file' var...<BR>";
exit;
}
chop($count);
$n_digitos = max(strlen($count), $n_digitos);
$count = substr("0000000000".$count, -$n_digitos);
$digits = preg_split("//", $count);
for($i = 0; $i <= $n_digitos; $i++) {
if ($digits[$i] != "") {
$html_result .= "<IMG SRC=\"$IMG_DIR$digits[$i].gif\">";
}
}
?>
<br>
<?php
echo $html_result;
?>
</body>
</html>
arquivo que chama este *.php pagina.php codigo abaixo:
<?php

require 'testando.php';

?>

beleza...se eu uso tudo *.php funciona certinho...porem eu tenho que chamar de um *.htm

por isto estou aqui...tem alguma maneira diferente que resolva meu problema??

não gostaria de usar de contadores gratuitos, pois trazem propaganda......

Grato

Share this post


Link to post
Share on other sites

20 answers to this question

Recommended Posts

  • 0

Ola..Fernando.

Neste caso...qual seria a maneira mais facil para fazer um contador para que ele seja usado numa página *.htm??

Não queria usar estes gratuitos, pois eles tem propaganda e não pode haver... :blush:

Grato

Share this post


Link to post
Share on other sites
  • 0

Passe para java script:

contador.php:

<?php
header('Content-type: text/javascript');
$FILE = "contador.txt";
$IMG_DIR = "./numeros/";
$n_digitos = 4;
if (file_exists($FILE)) {
$fp = fopen("$FILE", "r+");
flock($fp, 1);
$count = fgets($fp, 4096);
$count += 1;
fseek($fp,0);
fputs($fp, $count);
flock($fp, 3);
fclose($fp);
} else {
echo "document.write(\"não consigo encontrar o ficheiro, check '\$file' var...\")";
exit;
}
chop($count);
$n_digitos = max(strlen($count), $n_digitos);
$count = substr("0000000000".$count, -$n_digitos);
$digits = preg_split("//", $count);
for($i = 0; $i <= $n_digitos; $i++) {
if ($digits[$i] != "") {
$html_result .= "<IMG SRC=\"$IMG_DIR$digits[$i].gif\">";
}
}
echo 
echo "document.write(".$html_result.");";
?>
pagina.html:
<html>
<body BACKGROUND="fundo_geral.png">
<script src="contador.php" type="text/javascript"></script>
</body>
</html>

Ps.: Isso só funcionará se o seu HOST tiver PHP

Edited by hipnos na area

Share this post


Link to post
Share on other sites
  • 0

Ola.....desculpa em responder..tava fora da empresa..

eu testei seu codigo e não funcou...... :blush:

ai você diz que:

Ps.: Isso só funcionará se o seu HOST tiver PHP

R.: bom se eu entendi direito....a sua colocação....eu roda php no servidor normalmente......tanto que o exemplo acima...se tiver duas php´s o contador.php e pagina.php funciona certinho o contador...mas no seu exemplo não funcou.

muito Grato

Share this post


Link to post
Share on other sites
  • 0

já sei porque...

troque esta linha:

echo "document.write(".$html_result.");";
por isso:
echo "document.write('".$html_result."');";

malz é que na hora escrevi faltando ASPAS

é só testar

Share this post


Link to post
Share on other sites
  • 0

amigão...não funcionou..... :blush:

será que estou fazendo algo de errado, mas apenas fiz o que me sugeriu...

:blush:

Tens mais uma idéia??

muito Grato pela ajuda.

Share this post


Link to post
Share on other sites
  • 0

Tem um link para analizar ??

se tiver me passa ;)

talvez seja algo errado no PHP

tente visualizar assim(digite isso na barra de endereço):

http://seusite.com/contador.php
veja se o PHP retorna algum erro ;) [Editado] tente mudar esta linha:
$html_result .= "<IMG SRC=\"$IMG_DIR$digits[$i].gif\">";
para isso:
$html_result .= "<IMG SRC=\\\"".$IMG_DIR.$digits[$i].".gif"\\\">";

e verifica o erro ;)

{Editado2}

Bem mais uma pergunta se estiver a usar o Firefox verifica o erro que ele retorna (se retorna algum erro) e passa ele aqui ;)

Edited by hipnos na area

Share this post


Link to post
Share on other sites
  • 0
Tem um link para analizar ??

se tiver me passa

talvez seja algo errado no PHP

tente visualizar assim(digite isso na barra de endereço):

CODE

http://seusite.com/contador.php

veja se o PHP retorna algum erro

R: Oba....fiz o Testezinho somente chamando o php..... e deu este erro:

Parse error: parse error, unexpected T_ECHO, expecting ',' or ';' in /users/webmaster/form/contador.php on line 29
a linha 29 é esta:
echo "document.write('".$html_result."');";
tente mudar esta linha: CODE $html_result .= "<IMG SRC=\"$IMG_DIR$digits[$i].gif\">"; para isso: CODE $html_result .= "<IMG SRC=\\\"".$IMG_DIR.$digits[$i].".gif"\\\">"; e verifica o erro
R.: bom....o erro não acontece chamando o pagina.html, porem não funca.. se eu chamar agora o http:\\www.site.com.br\form\contador.php ai aparece varios erros:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /users/webmaster/form/contador.php on line 25

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /users/webmaster/form/contador.php on line 25

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /users/webmaster/form/contador.php on line 25

Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /users/webmaster/form/contador.php on line 25

bom é isto ai...se tiveres mais alguma ideia..por favor manda ver...pois preciso fazer funcionar num *.html chamando o contador.php

Grato

:)

Share this post


Link to post
Share on other sites
  • 0

agora que eu percebi tinha um ECHO a mais faça assim:

<?php
header('Content-type: text/javascript');
$FILE = "contador.txt";
$IMG_DIR = "./numeros/";
$n_digitos = 4;
if (file_exists($FILE)) {
$fp = fopen("$FILE", "r+");
flock($fp, 1);
$count = fgets($fp, 4096);
$count += 1;
fseek($fp,0);
fputs($fp, $count);
flock($fp, 3);
fclose($fp);
} else {
echo "document.write(\"não consigo encontrar o ficheiro, check '\$file' var...\")";
exit;
}
chop($count);
$n_digitos = max(strlen($count), $n_digitos);
$count = substr("0000000000".$count, -$n_digitos);
$digits = preg_split("//", $count);
for($i = 0; $i <= $n_digitos; $i++) {
if ($digits[$i] != "") {
$html_result .= "<IMG SRC=\\\"".$IMG_DIR.$digits[$i].".gif\\\">";
}
}
echo "document.write(\"".$html_result."\");";
?>

Testei aqui e funcionou ;)

Share this post


Link to post
Share on other sites
  • 0

carinha.....não sei porque..mas aqui na funca....simplimente a pagina.html carrega, mas o contador não aparece....

não da erro nada..simplismente o contador não da as caras....

será porque??

você diz que ai funcinou então aqui deveria funcionar...

:blush:

você fez igualzinho ai??

poderias me mandar os dois arquivos??

Grato

Share this post


Link to post
Share on other sites
  • 0
você criou o arquivo "contador.txt" com a permissão 777 ?
R.: sim..criei....o que seria a permissão 777??não seria a permissão para abrir o contador.txt e gravar?? se for...tem sim..

qual é sua versão do PHP?

R.: aonde eu vejo a versão??

amigão......só sei lhe dizer que no começo deste tópico la em cima.....eu dei um exemplo usando somente o php não o html....e o exemplinho funciona certinho com php

Agora só não to compreendendo como não funciona a sua dica.....

ta tudo lá certinho...o contador.txt ta la dentro...

você vez ai...e deu certo...deveria dar aqui também?? :blush:

Grato

Share this post


Link to post
Share on other sites
  • 0

permisão 777 é o tipo que está o CHMODE de um arquivo, você geralmente visualiza isso pelo FTP.

para saber qual a versão do PHP, use o comando phpversion();

tipo assim:

<?php
echo phpversion();
?>

amanhã te mando os arquivos ok ^^??

te mais abraço ;)

Share this post


Link to post
Share on other sites
  • 0
amanhã te mando os arquivos ok ^^??

R.: ok..fico no aguardo dos arquivos..

Agradecido

:)

Share this post


Link to post
Share on other sites
  • 0

Sua plataforma(servidor do PHP) é Windows??

Resolvi refazer o código do contador:

contadorjs.php

<?php
header('Content-type: text/javascript');
$COUNT_FILE = "contador.txt";
$IMG_DIR_URL = "numeros/";

$NB_DIGITS = 6;
if (file_exists($COUNT_FILE)) {
    $fp = fopen("$COUNT_FILE", "r+");
    $filesize = filesize($COUNT_FILE);
    $count = fread($fp,$filesize);
    $count += 1;
    fseek($fp,0);
    fputs($fp, $count);
    flock($fp, 3);
    fclose($fp);
} else {
    echo "document.write(\"Arquivo inisitente, verifique a variavel'\$COUNT_file ".$COUNT_FILE."' ...\");";
    $fp = fopen($COUNT_FILE,"w");
    fputs($fp, "1");
    fclose($fp);
    exit;
}
chop($count);
$nb_digits = max(strlen($count), $NB_DIGITS);
$count = substr("0000000000".$count, -$nb_digits);

$digits = preg_split("//", $count);

for($i = 0; $i <= $nb_digits; $i++) {
    if ($digits[$i] != "") {
        $html_result .=  "<IMG SRC=\\\"./".$IMG_DIR_URL."/".$digits[$i].".gif\\\" alt=\\\"".$digits[$i]."\\\">";
    }
}
echo "document.write(\"".$html_result."\");";
?>
pagina.html
<script type="text/javascript" src="contadorjs.php"></script>

testa ae ;), logo logo upo os arquivos

Share this post


Link to post
Share on other sites
  • 0
Sua plataforma(servidor do PHP) é Windows??

R.: bom o servidor aonde esta o site é OPEN BSD

carinha testei e não funcionou. :blush:

se puderes mandar os arquivos testados por você...

ai eu testo aqui....ai a gente vai ver se é aqui mesmo o problema.

Grato

Share this post


Link to post
Share on other sites
  • 0

Oba...Bom Dia!

carinha testei seus arquivos e não deu certo..

ai testei no FF e abrir o console de erros:

e deu critica de ERRO:

<br />
<b>Notice</b>:  Undefined variable:  html_result in <b>/users/webmaster/form/contadorjs.php</b> on line <b>31</b><br />
document.write("<IMG SRC=\"./numeros//0.gif\" alt=\"0\"><IMG SRC=\"./numeros//0.gif\" alt=\"0\"><IMG SRC=\"./numeros//0.gif\" alt=\"0\"><IMG SRC=\"./numeros//0.gif\" alt=\"0\"><IMG SRC=\"./numeros//0.gif\" alt=\"0\"><IMG SRC=\"./numeros//3.gif\" alt=\"3\">");
já no Opera deu este erro pelo consolo de erros dele:
JavaScript - http://www.site.com.br/form/html.html
Inline script compilation
Syntax error while loading: line 1 of linked script at http://www.site.com.br/form/contadorjs.php : 
<br /
--^

Bom é isto ai...amigo...

Grato

t+ :)

Share this post


Link to post
Share on other sites
  • 0

sim agora percebi esqueci de definir a variavel:

corrigido:

<?php
header('Content-type: text/javascript');
$COUNT_FILE = "contador.txt";
$IMG_DIR_URL = "numeros/";

$NB_DIGITS = 6;
if (file_exists($COUNT_FILE)) {
    $fp = fopen("$COUNT_FILE", "r+");
    $filesize = filesize($COUNT_FILE);
    $count = fread($fp,$filesize);
    $count += 1;
    fseek($fp,0);
    fputs($fp, $count);
    flock($fp, 3);
    fclose($fp);
} else {
    echo "document.write(\"Arquivo inisitente, verifique a variavel'\$COUNT_file ".$COUNT_FILE."' ...\");";
    $fp = fopen($COUNT_FILE,"w");
    fputs($fp, "1");
    fclose($fp);
    exit;
}
chop($count);
$nb_digits = max(strlen($count), $NB_DIGITS);
$count = substr("0000000000".$count, -$nb_digits);

$digits = preg_split("//", $count);
$html_result = "";
for($i = 0; $i <= $nb_digits; $i++) {
    if ($digits[$i] != "") {
        $html_result .=  "<IMG SRC=\\\"./".$IMG_DIR_URL."/".$digits[$i].".gif\\\" alt=\\\"".$digits[$i]."\\\">";
    }
}
echo "document.write(\"".$html_result."\");";
?>

Share this post


Link to post
Share on other sites
  • 0

Carinha hipnos na area

Cara....te confesso que eu já estava meio que desanimado com o esqueminha :blush:

Mas....amigão..deu certo...funcionou certinho.....fiquei muito contente mesmo.

Não vou precisar usar o contador de algum site qualquer......

muito Grato mesmo...você me quebrou uma....

Abraço

e t+ :D

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148601
    • Total Posts
      644297
×
×
  • Create New...