Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

paivadaniel

Contador de acessos que não incrementa com refresh

Recommended Posts

Olá ..

 

Ip Mesmo Amigo ^_^

 

Cookies tambem e uma forma legal de se fazer

 

o cara pode gravar o Ip em um txt não presisa de um banco ..

 

Caso for um banco .. ja deixo pronto aqui pra você ^^ ^_^

 

$ip = $_SERVER['REMOTE_ADDR'];
$cons = mysql_query("SELECT * FROM `contador` WHERE `ip` = '".$ip."'");
if(mysql_num_rows($cons) == 0){
 // query pra adicionar +1 no contador 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso aí Beraldo. nada de usar IP. O que adianta em um país onde IP fixo é raridade, pra não dizer inexistente? recomendo o uso de cookies que indiquem ao código se o user já abriu aquela página. ;)

 

[...]

Caso for um banco .. ja deixo pronto aqui pra você ^^ ^_^

 

$ip = $_SERVER['REMOTE_ADDR'];
$cons = mysql_query("SELECT * FROM `contador` WHERE `ip` = '".$ip."'");
if(mysql_num_rows($cons) == 0){
 // query pra adicionar +1 no contador 
}

 

Não precisa isso tudo. Isso aqui já resolve:

#Se o cookie não existe:
if (!isset($_COOKIE['visit'])){
#Cria o cookie
@setcookie('visit', 'dmFyIHNjT2JqMSA9IG5ldyBzY3Jv');

/* Variáveis de conexão do MySQL aqui */

#Atualiza o contador
$sql = 'UPDATE contador SET visitas=(visitas+1)';
$res = mysql_query($sql);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá parceiros! Tenho uma idédia!

 

Olha só:

 

<?
session_start(); // Inicia a sessão

$Sessao                      = session_id(); // Captura o ID único da sessão

// Validacao
$SQL                         = 'SELECT * FROM online WHERE sessao = "'.$Sessao.'"';
$Consulta                    = mysql_query($SQL) OR Die ('Erro '.mysql_errno().':<br>'.mysql_error());
If (mysql_num_rows($Consulta))
  {
    // Inserção da sessão no db
    $SQL                    = 'INSERT INTO online
                                           ( "..." )
                                    VALUES ( "..." )';
                              mysql_query($SQL);
  } 
?>

 

Gravando o id, mesmo que o usuário aperte f5 ou feche a guia (não o navegador) e volte, não será gravado novamente!

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado amigos, só uma dúvida, para usar banco, no caso mysql, ao abrir o xampp e ativar o mysql, depois de fazer um .php para conectar ao mysql, e outro para selecionar o banco de dados, é só colar o código no mysql e pronto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato. Pode fazer um arquivo só com a conexão pra evitar trabalhos repetitivos e aumentar o tamanho do projeto final e de sua dor de cabeça.

 

Só faço uma ressalva para usar o require() ao invés do include(), pois em caso de falha na hora de incluir o arquivo, ele aborta tudo (Fatal Error).

 

Links para estudo:

Require: http://www.php.net/manual/pt_BR/function.require.php

Include: http://www.php.net/manual/pt_BR/function.include.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato. Pode fazer um arquivo só com a conexão pra evitar trabalhos repetitivos e aumentar o tamanho do projeto final e de sua dor de cabeça.

 

Só faço uma ressalva para usar o require() ao invés do include(), pois em caso de falha na hora de incluir o arquivo, ele aborta tudo (Fatal Error).

 

Links para estudo:

Require: http://www.php.net/manual/pt_BR/function.require.php

Include: http://www.php.net/manual/pt_BR/function.include.php

 

Isso isso! Require! Vlw @jcalebe

Compartilhar este post


Link para o post
Compartilhar em outros sites

InterPlanet, naquele código acima, você usou as shortTags <? e ?>, ao invés das tags <?php e ?>. Prefira usar estas últimas para evitar ficar dependente do short_open_tag do php.ini

 

Link para estudo:

Short Open Tag: http://php.net/short-open-tag

Compartilhar este post


Link para o post
Compartilhar em outros sites

InterPlanet, naquele código acima, você usou as shortTags <? e ?>, ao invés das tags <?php e ?>. Prefira usar estas últimas para evitar ficar dependente do short_open_tag do php.ini

 

Link para estudo:

Short Open Tag: http://php.net/short-open-tag

 

É! Não consigo me acostumar com isso! Tenho servidor dedicado e raramente vendo sistemas para rodar fora dos meus servidores, e, claro, no meu short_open_tag = On. Mas vou tentar usar tag completa sempre aqui no forum pra nao prejudicar o pessoal que ta aprendendo, desculpe. Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, fiz esse arquivo de conexão com o mysql e com o banco de dados que chamei de "contador_sem_refresh".

 


<?php

$conecta_mysql = mysql_connect ("localhost","root","");
$conecta_banco = mysql_select_db ("contador", $conecta_mysql);

if($conecta_myqsl)
{
	if($conecta_banco)
		echo "Conexão com o banco de dados foi realizada com sucesso"
	else
		echo "Conexão com o banco de dados não foi realizada com sucesso"
}		
else
		echo "Conexão com mysql não foi realizada com sucesso"

?>

 

Só que como eu só sei isso de mysql, eu abri o phpmyadmin, criei um banco "contador_sem_refresh" e em SQL simplesmente colei o código que o amigo InterPlanet passou:

 

<?
session_start(); // Inicia a sessão

$Sessao                      = session_id(); // Captura o ID único da sessão

// Validacao
$SQL                         = 'SELECT * FROM online WHERE sessao = "'.$Sessao.'"';
$Consulta                    = mysql_query($SQL) OR Die ('Erro '.mysql_errno().':<br>'.mysql_error());
If (mysql_num_rows($Consulta))
  {
    // Inserção da sessão no db
    $SQL                    = 'INSERT INTO online
                                           ( "..." )
                                    VALUES ( "..." )';
                              mysql_query($SQL);
  } 
?>

 

Como eu imaginava não deu certo..hehe

 

Segue a página de erros:

 

Parece haver um erro na sua consulta SQL. A saída do servidor MySQL abaixo, isto se existir alguma, também poderá ajudar a diagnosticar o problema.

 

ERROR: String de pontuação desconhecida @ 1

STR: <?

SQL: <?

session_start();<?

session_start();<?

session_start();<?

session_start();<?

session_start();<?

session_start();<?

session_start();<?

session_start();

 

 

consulta SQL:

 

<? session_start();

 

Mensagens do MySQL : Documentação

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?

session_start()' at line 1

 

 

 

E então pessoal, como eu faço isso?

 

E mais uma pergunta, tem como integrar o dreamweave cs3 ao mysql? o mysql tá ativo oq no xampp, mas quando eu tô escrevendo o código no dreamweaver, ao digitar por exemplo "... = mysql_ " ele não abre a aba das funções my_sql existentes, como mysql_connect ou mysql_select_db por exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que adianta em um país onde IP fixo é raridade, pra não dizer inexistente?

 

não viaja

a net raramente muda o IP, basta ver a qtdade de gente que reclama

o meu so muda se eu fizer aquela firulada no IPCONFIG, fora isso meu IP é FIXO

 

 

como disse, ha outras maneirar de se fazer

alem do mais, trabalhar com IP não é apenas gravar os numeros

Compartilhar este post


Link para o post
Compartilhar em outros sites

up

 

as respostas e os argumentos estão no tópico. só lhe resta escolher a opção

 

esse UP não faz o mínimo sentido,

 

Leia as regras do fórum:

http://forum.imasters.com.br/index.php?app=core&module=help

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

não viaja

a net raramente muda o IP, basta ver a qtdade de gente que reclama

o meu so muda se eu fizer aquela firulada no IPCONFIG, fora isso meu IP é FIXO

 

Você está olhando no ícone da conexão de rede? Esse nunca muda mesmo. Mas vá em um site que detecta IPs (aqui), e veja se é o mesmo.

Se for, parebéns pro seu provedor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

IP estático ou dinâmico não é o assunto do tópico

 

 

Há, sim, IPs estáticos ainda. IPs dinâmicos são característica de DSL. Conexão discada e 3g, por exemplo, normalmente só têm um IP válido de Internet e o acesos às máquinas internas são feitos por NAT

 

Mas isso não é regra.

 

 

Logo o IPv6 aparece por aí e dá IP para todo mundo :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

não viaja

a net raramente muda o IP, basta ver a qtdade de gente que reclama

o meu so muda se eu fizer aquela firulada no IPCONFIG, fora isso meu IP é FIXO

 

Você está olhando no ícone da conexão de rede? Esse nunca muda mesmo. Mas vá em um site que detecta IPs (aqui), e veja se é o mesmo.

Se for, parebéns pro seu provedor.

 

 

é serio que você quer me ensinar a descobrir meu IP???

 

quebro o pau toda hora com a net pra mudar meu IP pq as vezes nem no IPCONFIG muda

ai tem que reiniciar o pc, o modem e acender uma vela de 7 dias

Compartilhar este post


Link para o post
Compartilhar em outros sites

O assunto do tópico não é IP. :seta:

 

IP estático ou dinâmico não é o assunto do tópico

[...]

Logo o IPv6 aparece por aí e dá IP para todo mundo :)

Tá certo! :joia:

 

é serio que você quer me ensinar a descobrir meu IP???

Eu não tentei ensinar nada a você, mas se você considerou assim... <_<

Cara, esse não é o assunto do tópico. Estou aqui pra ajudar o cara, e não pra discutir.

 

 

Então, paivadaniel, você colocou aquele código php na caixa de consulta do phpMyAdmin, foi?

 

Ele não é pra isso! Ele faz a consulta, não é a consulta!

Crie um arquivo .php e coloque o conteúdo dele dentro!!! ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.