Pregunta

Utilizo una tabla simple de MySQL para contar las visitas diarias para páginas / elementos específicos en un sitio web. Uso de la columna 'id' para identificadores de página / elemento, 'fecha' para el día de las visitas / visitas y la columna 'hits' para la cantidad de visitas.

Cada vez que alguien visita la página, el valor de las visitas para esa fecha específica se actualiza a +1.

Pero, el valor se actualiza una vez más cada vez que la página se actualiza o se vuelve a visitar y necesito una forma de guardar la ID de la página en una cookie o la IP del visitante en la base de datos para actualizar los resultados solo una vez.

Nunca trabajé con cookies, así que no sé cómo hacerlo y las limitaciones de los datos que pueden almacenarse en una cookie.

Creo que guardar las direcciones IP de los visitantes en la base de datos es realmente un desperdicio de queires y bandwitch y leí que no siempre es posible obtener la IP real y esto puede causar algunos problemas y algunos hits no actualizados.

También leí que es mejor no usar demasiado las variables GLOBALES ...

¿Puede alguien explicarme la mejor manera de hacerlo y cómo hacerlo?

¡Gracias!

¿Fue útil?

Solución

Si prefiere manejar las cookies como variables PHP, algo con lo que está muy familiarizado, usaría una sesión.

session_start()
$page = 1; // Page ID
if(isset(

Si prefiere manejar las cookies como variables PHP, algo con lo que está muy familiarizado, usaría una sesión.

<*>

Obtenga la ID de la página en la variable $ page, y la guardará en una sesión. Una sesión es como una cookie, excepto que se guarda en el lado del servidor.

Básicamente, si hay una variable con el ID de esa página, no hará nada, de lo contrario registrará un hit y establecerá la variable.

Puede consultar este tutorial para obtener más información sobre las sesiones: http://www.tizag.com /phpT/phpsessions.php

Al igual que las cookies, las sesiones solo durarán una cierta cantidad de tiempo. Entonces registrará una visita después de unos días.

Es posible que incluso desee verificar manualmente para ver cuándo fue la última vez que visitó. Si es más de una hora, registra un nuevo éxito, porque probablemente no solo sean refrescantes.

SESSION[$page])) { // Do something if the person refreshed } else {

Si prefiere manejar las cookies como variables PHP, algo con lo que está muy familiarizado, usaría una sesión.

<*>

Obtenga la ID de la página en la variable $ page, y la guardará en una sesión. Una sesión es como una cookie, excepto que se guarda en el lado del servidor.

Básicamente, si hay una variable con el ID de esa página, no hará nada, de lo contrario registrará un hit y establecerá la variable.

Puede consultar este tutorial para obtener más información sobre las sesiones: http://www.tizag.com /phpT/phpsessions.php

Al igual que las cookies, las sesiones solo durarán una cierta cantidad de tiempo. Entonces registrará una visita después de unos días.

Es posible que incluso desee verificar manualmente para ver cuándo fue la última vez que visitó. Si es más de una hora, registra un nuevo éxito, porque probablemente no solo sean refrescantes.

SESSION[$page] = time(); // record hit. }

Obtenga la ID de la página en la variable $ page, y la guardará en una sesión. Una sesión es como una cookie, excepto que se guarda en el lado del servidor.

Básicamente, si hay una variable con el ID de esa página, no hará nada, de lo contrario registrará un hit y establecerá la variable.

Puede consultar este tutorial para obtener más información sobre las sesiones: http://www.tizag.com /phpT/phpsessions.php

Al igual que las cookies, las sesiones solo durarán una cierta cantidad de tiempo. Entonces registrará una visita después de unos días.

Es posible que incluso desee verificar manualmente para ver cuándo fue la última vez que visitó. Si es más de una hora, registra un nuevo éxito, porque probablemente no solo sean refrescantes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top