PHP - Ayuda con contador de visitas por cookies

 
Vista:
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con contador de visitas por cookies

Publicado por Derek (20 intervenciones) el 29/12/2018 04:47:44
Bueno pues explico mi problema, estaba buscando codigos de contadores de visitas que NO incremente al momento que uno refresque la pagina, ya que el que tenia, al refrescar la pagina pues lograba llegar hasta 40 visitas en menos de 1h si estaba entrando a esa pagina para editarla.
Y encontre este codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$archivo = "contador.txt"; // Archivo con el numero de visitas
// Leemos las visitas.
if(file_exists($archivo)){
$contador = file_get_contents($archivo);
$existente = $_COOKIE['contador']; // Intentamos leer la cookie
if (!$existente)$contador++; // // si NO existe la cookie, incrementamos las visitas
 
}else{
// Crear archivo contador. Será con la 1ª visita
touch($archivo);
chmod($archivo, 0755);
$contador = 1; // Valor por defecto si no existe fichero de visitas
}
 
// Grabamos cookie de 1 hora de duracion
setcookie("contador",1, time() + 3600);
 
// Grabamos contador
file_put_contents($archivo, $contador);
 
?>
<?php echo "$contador "; ?>

Pero el problema que tengo es el siguiente:
Cuando no esta creado el archivo contador.txt y entro la pagina este aparece asi:
MSH3k1s
Pero cuando abro una pestaña en incógnito para usarla como otra coockie por decirlo asi me sale este error
299itSi

Pero cuando se actualiza la pagina desaparece el error, no se que esta mal en el codigo, lo estuve analizando pero no encuentro solucion, ya que el error esta diciendo que no existe "contador" osea:
1
$existente = $_COOKIE['contador'];

Espero su ayuda.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con contador de visitas por cookies

Publicado por Alejandro (839 intervenciones) el 29/12/2018 17:01:16
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Analiza tu codigo
Linea 6: intentas acceder a una cookie que no existe
Linea 17: creas la cookie
Actualizas y se ejecuta nuevamente el codigo
Linea 6: ya existe la cookie pues se creo en la ejecución anterior
Linea 17: creas nuevamente la cookie, básicamente actualizas el tiempo de vida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con contador de visitas por cookies

Publicado por Derek (20 intervenciones) el 29/12/2018 19:40:46
Como podria solucionarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Yoel
Val: 20
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con contador de visitas por cookies

Publicado por Leonardo Yoel (7 intervenciones) el 30/12/2018 04:51:11
No he tenido tiempo d revisar bien el codigo y hacerlo funcionar, pero si lo q deseas es eliminar el herros q n se muestre, pq al final te funciona bien el codigo solo te molesta el error puedes hacer esto:

1
$existente = @$_COOKIE['contador'];

funcionara? me dejas saber, n estoy muy practico pero creo q si, jeje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 52
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Ayuda con contador de visitas por cookies

Publicado por Derek (20 intervenciones) el 30/12/2018 20:38:40
Si funciono!
Muchas gracias amigo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar