Comunidad de diseño web y desarrollo en internet online

Contador de sesiones en PHP sin usar bases de datos

Citar            
MensajeEscrito el 30 Dic 2006 09:13 pm
Como hace tiempo estuve buscando como hacer un contador el cual no utilizase bases de datos y que no se aumentara cuando actualizaba mi página, y no lo encontré, pues me tuve que poner a hacer uno que cumpliera con esas características. Así que pongo a disposición de ustedes este script, el cual espero les sirva. Si alguien le hace alguna modificación o mejora, será bienvenida. :D
Tomen esto como un regalo de año nuevo, ya que muchas veces no encontramos lo que queremos. :wink:

Código :

<?php

session_start();

$archivo = "contador.txt";

if (!$_SESSION[contador]) {
   if (file_exists($archivo)) {
      $visitas = file_get_contents($archivo);
   } else {
      $visitas = 0;   
   }
   
   $visitas++;

   $fd = fopen($archivo, "w");
   fwrite($fd, $visitas);
    fclose($fd);

   $_SESSION[contador] = $visitas;
}

echo "<h1>Es el visitante numero $_SESSION[contador]</h1>";

?>


Cada vez que el usuario inicie una nueva sesión (esto es abriendo el navegador web e ingresando a la página) el numero de visitas se incrementa en uno.

Por flashreloco

Claber

1310 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Webdesigner & Mandilon 2.0

msie
Citar            
MensajeEscrito el 16 Ene 2007 03:37 pm
:? ¿y como le haces para contar a los visitantes?

Salu2

Por Jorgelig

Claber

3035 de clabLevel

12 tutoriales

 

Monterrey, Nuevo Leon, MX

firefox
Citar            
MensajeEscrito el 18 Ene 2007 05:30 pm
Hola voy a tratar de explicar el script, lo mas claro posible, ya que muchas veces me cuesta explicar las cosas. :oops:


Código :

//iniciamos nuestro script
<?php 
//generamos una nueva sesion , esta entra en accio cuando entran en nuestra pagina
session_start(); 
// Asignamos a la variable $archivo nuestro archivo de texto llamado contador .txt, en el cual se van a ir guardando nuestras visitas.
$archivo = "contador.txt"; 

//hacemos una condicion para asignarle a nuestre un nombre a nuestra sesion en este caso se llama contador.
if (!$_SESSION[contador]) {
//checamos si existe nuestro archivo
   if (file_exists($archivo)) {
// entonces a la variable &visitas le desimos que revise la cantidad de visitas
      $visitas = file_get_contents($archivo);
//de lo contrario no se hace ningun incremento
   } else {
      $visitas = 0;   
   }
// si fuese que ya exista el archivo y que se haya leido correctamente el contenido incrementamos a $visitas
   $visitas++;
// abrimos nuestro $archivo de texto  con la propiedad write para poder escribir en el. 
   $fd = fopen($archivo, "w");
// y escribimos en nuestro archivo la cantidad de visitas 
   fwrite($fd, $visitas);
// cerramos nuestro archivo
    fclose($fd);
// en esta parte a mientras este abierta nuestra sesion no se va a incrementar aunque actualicemos la pagina
   $_SESSION[contador] = $visitas;

}
//mandamos imprimir el numero de visitas, todo esto, dentro de  $_SESSION[contador] 
echo "<h1>Es el visitante numero $_SESSION[contador]</h1>";

?>

Por flashreloco

Claber

1310 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Webdesigner & Mandilon 2.0

firefox
Citar            
MensajeEscrito el 24 Sep 2007 06:19 pm
Hola!, he modificado un poco el codigo para que tambien muestre el numero de impresiones recibidas.

Aqui se los dejo, denle una chekeada.

Código :


session_start();

$archivo1 = "../contador_visitas_navegador.txt";
$archivo2 = "../contador_visitas_impresiones.txt";

if (!$_SESSION[contador_visitas_navegador]) {
   if (file_exists($archivo1)) {
      $visitas_navegador = file_get_contents($archivo1);
   } else {
      $visitas_navegador = 0; 
   }
   
   // Contador por sesion de Navegador
   $visitas_navegador++;
   $fd1 = fopen($archivo1, "w");
   fwrite($fd1, $visitas_navegador);
   fclose($fd1);

   $_SESSION[contador_visitas_navegador] = $visitas_navegador;
}

   $visitas_impresiones = file_get_contents($archivo2);
   // Contador por impresiones
   $visitas_impresiones++;
   $fd2 = fopen($archivo2, "w");
   fwrite($fd2, $visitas_impresiones);
   fclose($fd2);

echo "Eres el visitante número: <br /><h1>$_SESSION[contador_visitas_navegador]</h1><br />
Impresiones recibidas: <br /><h1>$visitas_impresiones</h1><br />";

Por Caezar

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Sep 2007 05:30 pm
Muchas gracias Caezar :D .

Por flashreloco

Claber

1310 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

Webdesigner & Mandilon 2.0

firefox
Citar            
MensajeEscrito el 01 Oct 2007 04:42 pm
Antes de "session_start();" agregen este codigo:

Código :

$ip = ereg_replace ("\.","-",$HTTP_SERVER_VARS['REMOTE_ADDR']);
session_id($ip);

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie
Citar            
MensajeEscrito el 03 Jun 2009 07:49 pm
Buenas Tardes.

Hace días una empresa me pidio lo mismo que desarrollo flashreloco, un contador que se incrementara cuando se ingresara a la pagina, pero al darle F5 no actuce....
la cuestion es que en la empresa todo funciona muy bien pero el contador deun momento a otro descrementa, osea esta en 3502 Visitas y de un momento a otro aparece en 1500 Visitas.
El codigo es muy parecido al que tu compartiste.

Código :

//iniciamos nuestro script
<?php 
//generamos una nueva sesion , esta entra en accio cuando entran en nuestra pagina
session_start(); 
// Asignamos a la variable $archivo nuestro archivo de texto llamado contador .txt, en el cual se van a ir guardando nuestras visitas.
$archivo = "contador.txt"; 

//hacemos una condicion para asignarle a nuestre un nombre a nuestra sesion en este caso se llama contador.
if (!$_SESSION[contador]) {
//checamos si existe nuestro archivo
   if (file_exists($archivo)) {
// entonces a la variable &visitas le desimos que revise la cantidad de visitas
      $visitas = file_get_contents($archivo);
//de lo contrario no se hace ningun incremento
   } else {
      $visitas = 0;   
   }
// si fuese que ya exista el archivo y que se haya leido correctamente el contenido incrementamos a $visitas
   $visitas++;
// abrimos nuestro $archivo de texto  con la propiedad write para poder escribir en el. 
   $fd = fopen($archivo, "w");
// y escribimos en nuestro archivo la cantidad de visitas 
   fwrite($fd, $visitas);
// cerramos nuestro archivo
    fclose($fd);
// en esta parte a mientras este abierta nuestra sesion no se va a incrementar aunque actualicemos la pagina
   $_SESSION[contador] = $visitas;

}
//mandamos imprimir el numero de visitas, todo esto, dentro de  $_SESSION[contador] 
echo "<h1>Es el visitante numero $_SESSION[contador]</h1>";
?>


Podria alguin decirle el porq sucede esto y cual seria una solucion.
Muchas Gracias

Por dalondono099

0 de clabLevel



 

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.