Programación Web y Scripting > PHP

 Generar Contador

(1/2) > >>

javier3:
Hola a todos quisiera que me ayuden como puedo hacer un contador que solo incremente cada vez que yo ingrese a la página mas no cada vez que se actualize no se si me entienden por fa alguien ayudeme gracias..

Avalon:
Hola Javier. Podrías hacerlo mediante el uso de cookies. Por ejemplo, cuando alguien entre a tu página por primera vez creas una cookie en su máquina para marcar que la visita ya ha sido contabilizada. Parto de la base que ya dispones del código del contador y sólo te falta controlar que se incremente la primera vez que se acceda a la página durante una sesión. Entonces sería algo como esto:


--- Código: Text ---<?php     // Primero controlamos si existe la cookie en la máquina del visitante     // Si no existe...    if (!$_COOKIE["contador"]) {   // Creamos la cookie  setcookie("contador", 1);   // Incrementamos el contador en 1  // Aquí iría el código de tu contador    } ?> 

De esta forma sólo se contabilizaria una visita por sesión. Es decir, hasta que el visitante cierre su navegador. Si lo que quieres es contabilizar una visita por usuario y día podrías ponerle una fecha de expiración a la cookie. Para 24 horas sería esto:


--- Código: Text ---setcookie("contador", 1, time()+60*60*24); 

Espero que te sirva.


Salu2,
Avalon

javier3:
Hola Avalon, mira te envio el codigo que puse pero me sale un error
<?php
   if (!$_COOKIE["contador"])
   {
   setcookie("contador", 1);
//Este código le agregé yo.
   $contador1=$rsconta->Fields("numero");//Estoy recuperando de una tabla el ultimo número registrado
   ++$contador1; //luego le incremento en uno
   $sql="update contador set numero=$contador1"; luego ese incremento tengo que guardarlo en la tabla
   $cnconta->Execute($sql);//ejecuto la actualización y al final en la otra página imprimo la variable $contador1 pero me sale este error
}?>


Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\newportal\index.php:9) in c:\apache\htdocs\newportal\pg_titulo.php on line 16

te explico el código del contador esta en pg_titulo.php pero, ésta página esta incluida dentro de la página index.php y cuando levanto el index.php me sale el error que te puse arriba pero si me llega a imprimir la página pg_titulo.php
 haber si me puedes ayudar gracias.... :comp:

Avalon:
Ese error aparece cuando se envía algo al navegador (por ejemplo con un echo o print) antes de que se ejecute el setcookie.

Si puedes adjunta en un mensaje tanto index.php como pg_titulo.php dentro un archivo .zip para ayudarte a encontrar el error.


Salu2,
Avalon

javier3:
Ahi esta Avalon los archivos... ayudame

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa