Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   Contador PHP (https://www.clubdelphi.com/foros/showthread.php?t=53153)

Deiv 12-02-2008 14:37:51

Contador PHP
 
Hola!
Nuevamente por aca, esta vez empezando un poco a leer PHP por la necesidad de saber cuantos visitarían mi Página Web?
He encontrado con Google, un sin fin de ejemplos PHP para implementar un contador, todo OK, pero la pregunta en este hilo sería:

¿De que manera puedo implementar un contador PHP en el cual las veces que Yo ingrese no me cuente propiamente?

Quizá no está claro, por ejemplo me gustaría saber si visitaron mi página con dicho contador pero no quisiera ser contado Yo las veces que ingrese, por ejemplo cuando edite en el Servidor mi Página Web y actualice para ver los cambios, aquí de todas maneras me contará el contador, y ahí es que no deseo ser contado; luego el diseño de la página estará sometido a una y otra edición las n-veces, ya que lo pensamos diseñar con mi hermano que no se encuentra en mi País, por lo que él por su lado editará y yo observaré los cambios realizados, y viceversa, es ahí donde no queremos ser contados, cuando actualicemos y podamos observar los cambios.

Yo sé que el método más sencillo es simplemente contarse uno mismo y quitar con una simple aritmética esa cantidad, pero cuando les hablo que mi hermano situado en otro Páis realizará también los cambios, ahí ya es un poco incómodo realizar este cálculo a dedo.

¿Alguna sugerencia de algoritmo? Alguna idea?

jachguate 12-02-2008 15:08:06

Pensá en alguna forma de "identificarte" con el sitio. Por ejemplo, si contas con una IP fija, siempre te conectarás a través de ella, por lo que podrías no contar todas aquellas visitas cuya IP de origen sea la tuya.

Si no tenes un IP fijo, se me ocurre que otra manera sencilla de hacer esto sería leer el valor de alguna cookie, que vos modifiques manualmente en tu equipo para que devuelva cierta marca y que eso le indique al contador que ignore tus visitas.

Hay métodos mas elaborados, pero igual mas dificiles de implementar.

Hasta luego.

;)

dec 12-02-2008 15:12:05

Hola,

Cita:

Empezado por Jachguate
Si no tenes un IP fijo, se me ocurre que otra manera sencilla de hacer esto sería leer el valor de alguna cookie, que vos modifiques manualmente en tu equipo para que devuelva cierta marca y que eso le indique al contador que ignore tus visitas.

Es una buena idea. Desde PHP puedes conocer el valor de una "cookie" que tú puedes preparar cuando te sea menester trastear con la página web. Si se trata de un sitio que cuenta con cierta "identificación" de usuarios, pongamos por caso un sistema de bitácoras, seguramente tengas a mano funciones del tipo "UserIsLogged()", de modo que puedas decidir no imprimir según qué código para usuarios autenticados.

Pero lo de la "cookie" me parece en principio una buena idea, porque, no depende de nada más.

Deiv 13-02-2008 14:19:50

Gracias por la respuesta de leer los IP e IDs y de los Cookies, el problema es que yo entro a Internet en diferentes Cafes,
debería guardar esos IPs en mi Script?

jachguate 13-02-2008 14:34:34

No lo recomiendo si son muchos IP's. Pero para ese caso está la idea de las cookies.

Hasta luego.

;)

dec 13-02-2008 14:35:11

Hola,

Se trataría de en el cibercafé establecieras una determinada "cookie" antes de visitar el sitio web en cuestión. Para Firefox, tienes la extensión Add N Edit Cookies, por ejemplo, que te permitirá establecer "cookies". Estableces una "cookie" con un determinado nombre, que puedes luego usar como identificador. Es decir, en el script que imprima el código para las estadísticas del sitio web, tendrías que codificar algo parecido a esto:

Código PHP:


if(!isset($_COOKIE['soyyodesdeuncibercafe'])){
  
// Aquí imprimes el código para las estadísticas


De ese modo, cuando una "cookie" de nombre "soyyodesdeuncibercafe" está establecida, no se imprimirá el código para las estadísticas, y, por tanto, tus visitas no serán tenidas en cuenta.

Deiv 20-02-2008 15:15:43

Otra solución?
 
Gracias por vuestras respuestas y la idea del Script relacionado a los Cookies. Esto de no tener instalado Internet en Casa, es un "problemita" ya que como mencioné Yo acudo a diferentes Cibercafés y a distintas máquinas.
Alguien por ahí me dió otra sugerencia:

Esconder en alguna parte de mi página una Referencia (solo yo sabría donde [un pequeño botón, digamos] se encuentra), cuando clicke ahí con el mouse, aparecería una ventana preguntandome por un Password, paso seguido le doy el Password correcto, lo que haría mi Contador es DESCONTAR en 1.

Es posible hacer esto?, ¿es más facil y práctico que solucionar mi problema con las Cookies?, porque me preguntaba, ¿que tal si alguna vez me olvido instalar esa Cookie en la PC donde estoy entrando a mi página, en ese momento mi Contador me contaría a mi como un visitante mas, no es cierto?, y la única forma de borrar eso sería entrando al servidor y Corregir el archivo counter.TXT, es así?
Instalar una Cookie en una PC (como dije ingreso a diferentes Cybers [15] y distintas máquinas según estén libres) no importaría quien entre a esas PCs, simplemente también a esos Usuarios no les contarán verdad?, y además NO tendría que olvidarme Yo de borrar la Cookie al terminar de trabajar en ese Cyber y en esa máquina, no es cierto?
Otro que pude analizar es ¿que tal si en un CiberCafe formatean la PC donde instalé mi Cookie, tendría que nuevamente instalar mi Cookie o verificar si la misma funciona ó no.

Hacer esa referencia que mencioné, ¿no resulta más práctico?
¿Qué opinan?

dec 20-02-2008 15:26:13

Hola,

Creo que estamos matando moscas a cañonazos. A ver si me explico. ¿Es algo crítico el contador de que venimos hablando? ¿O tal vez sólo sirve para mantener algo así como las estadísticas de la gente que visita un sitio web?

Si fuera lo primero, me parece que los "trucos" de una forma u otra estarían demás, y habría que buscar una solución más "fiable", que no pasara por trucos de ninguna clase, no sé si me explico. Pero, si fuera lo segundo, hay soluciones muy completas, como pueda ser Google Analytics.

No sé. ¿Tú cómo lo ves?

jachguate 20-02-2008 17:48:16

Solo para seguir con la idea de la cookie...

Podías automatizar de cierta manera la creación de la cookie:

Me explico.

Podrías crear un script que no esté vinculada desde ningun lado, de manera que nadie conozca su url mas que vos y tu hermano:

Por ejemplo:

www.tusitio.com/nocontarme.php

Este script creará la cookie y luego te redigirá a www.tusitio.com/index.php, que ya encontrará la cookie creada y además, al encontrarla, añadirá un botón que dija "contarme de nuevo", que no olvidarás presionar al terminar tu sesión, y que dirigirá a www.tusitio.com/sicontarme.php que borrará o cambiará el valor de la mencionada cookie.

Hasta luego.

;)

keyboy 22-02-2008 05:52:41

Quizá la idea de entrar mediante www.tusitio.com/nocontarme.php pueda facilitarse un poco si se usa una variable de sesión en lugar de una cookie ya que de esta forma no hay que preocuparse por borrar la cookie al terminar.

Bye

dec 22-02-2008 07:26:12

Hola,

Cita:

Empezado por keyboy
Quizá la idea de entrar mediante www.tusitio.com/nocontarme.php pueda facilitarse un poco si se usa una variable de sesión en lugar de una cookie ya que de esta forma no hay que preocuparse por borrar la cookie al terminar.

Pues no está mal visto. Aunque las "cookies" también expiran al terminar la sesión, sino se especifica otra cosa:

Cita:

Empezado por setcookie
The time the cookie expires. This is a Unix timestamp so is in number of seconds since the epoch. In other words, you'll most likely set this with the time() function plus the number of seconds before you want it to expire. Or you might use mktime(). time()+60*60*24*30 will set the cookie to expire in 30 days. If set to 0, or omitted, the cookie will expire at the end of the session (when the browser closes).

Más información en el manual de PHP.

jachguate 22-02-2008 17:41:24

Cita:

Empezado por keyboy (Mensaje 267787)
Quizá la idea de entrar mediante www.tusitio.com/nocontarme.php pueda facilitarse un poco si se usa una variable de sesión en lugar de una cookie

Pero claro!! ¡cómo no se me ocurrió!. :D

Si fuera yo, me quedaba con esta opción... :)

keyboy 23-02-2008 01:26:22

Cita:

Empezado por dec (Mensaje 267797)
Aunque las "cookies" también expiran al terminar la sesión, sino se especifica otra cosa

Vaya. Pues tienes razón. Y de hecho, una sesión se mantiene en el cliente gracias a una cookie que expira al terminar la sesión, así que viene a ser lo mismo.

Bye

dec 23-02-2008 08:51:31

Hola,

Cita:

Empezado por keyboy
Vaya. Pues tienes razón. Y de hecho, una sesión se mantiene en el cliente gracias a una cookie que expira al terminar la sesión, así que viene a ser lo mismo.

Así es la verdad. Lo que no me queda tan claro es si la sesión que expira en el cliente también expira en el servidor. Es decir, en el servidor también se guardan las sesiones. Pero las cookies se guardan en el cliente. No creo que esto de para muchas vueltas, pero, el caso es que como nos pongamos tiquismiquis la cosa hasta se puede poner interesante. ;)

keyboy 23-02-2008 19:00:35

Según entiendo, esto no sería problema. De hecho las sesiones se borran sólo "de vez en cuando". En otra ocasión o desde otro lugar que entre, la sesión será distinta, tendrá un sess_id diferente, por lo que no hay riesgo de confundirla con la anterior. Esa sesión anterior, si no se destruye explícitamente con session_destroy, permanece como basura hasta que php efectúa su proceso de recolección.

Bye

jachguate 23-02-2008 19:19:20

Cita:

Empezado por keyboy (Mensaje 268038)
Vaya. Pues tienes razón. Y de hecho, una sesión se mantiene en el cliente gracias a una cookie que expira al terminar la sesión, así que viene a ser lo mismo.

Bye

No siempre la sesión se mantiene gracias a una cookie. La sesión también puede mantenerse con un parámetro que se pasa al get.

Hasta luego.

;)

keyboy 23-02-2008 19:36:44

Sí, lo sé, y lo pensé cuando lo escribí. Pero si nos abstenemos de cookies para la sesión, quizá no valga la pena pensar en cookies para otras cosas :)

Bye

jachguate 24-02-2008 02:33:14

Cita:

Empezado por keyboy (Mensaje 268154)
Sí, lo sé, y lo pensé cuando lo escribí. Pero si nos abstenemos de cookies para la sesión, quizá no valga la pena pensar en cookies para otras cosas :)

Precisamente la idea que diste de hacerlo por sesión, me gustó mas por eso. Pprque podrías hacerlo con cookies o sin ellas: flexible

Hasta luego.

;)

oabel5 25-02-2008 08:32:34

Cita:

Empezado por dec (Mensaje 267235)
Hola,

Creo que estamos matando moscas a cañonazos. A ver si me explico. ¿Es algo crítico el contador de que venimos hablando? ¿O tal vez sólo sirve para mantener algo así como las estadísticas de la gente que visita un sitio web?

Si fuera lo primero, me parece que los "trucos" de una forma u otra estarían demás, y habría que buscar una solución más "fiable", que no pasara por trucos de ninguna clase, no sé si me explico. Pero, si fuera lo segundo, hay soluciones muy completas, como pueda ser Google Analytics.

No sé. ¿Tú cómo lo ves?

quiero tambien dar mi opinión acerca de esta problemática. Yo digo que David Esperalta tiene razón, aqui se está matando moscas a cañonazos.
El único problema para Deiv es no ser contado el mismo, cuando él entre a su página.
Muchos han coincidido por la solución de las Cookies, perfecto. Yo soy programador en C/C++ desde hace un par de años; mis programas los realizo de la forma más práctica y fácil posible. Aunque las Cookies no son tan dificiles de programar, a Deiv le será dificil crear rápido el código, ya que él recien se está iniciando en PHP.
Deiv mencionó otra solución, "esconder una referencia". Por decir en un lugar de su página dice: "La página de Deiv fué visitada por XXX Visitantes", la letra "u" de la palabra "fué" se la convierte en una referencia:
<a href="Descontame.php">u</a>;
entonces cuando el aprete con el ratón esta "u" vá a otra página, le pide una contraseña y vuelve a la página principal, mientras tanto el Descontame.php ya le descontó en 1.
Está en la responsabilidad de Deiv de clikar esta Referencia, cada vez que entre a su página.
Con las Cookies: Cada vez que él vaya a un CiberCafé, tiene que instalar la Cookie, (se puede hacer de tal forma que la Cookie sea borrada, cada vez que él salga de su página). El problema de esta solución, es que Deiv nunca tiene que olvidarse de llevar esa Cookie consigo (por ejemplo en un FlashMemory), si se olvida, simplemente: ó no entra a su página, ó entrando a su servidor cambia el valor manualmente del archivo "counter.txt".
La solución de entrar desde otra URL, tambien me parece bien, la desventaja que le encuentro a este, es que Deiv va a tener que inscribirse en algún servidor, donde va a publicar una página que a nadie sirva: www.tusitio.com/nocontarme.php, le servirá solo a él y a su hermano; se imaginan que todos hicieran lo mismo?, creo que muy pronto vamos a saturar la Red, si buscamos estas soluciones.
Me parece que Deiv tiene que reconocer que no es crítico que se le cuente ó no se le cuente entrando a su página, porque si realmente fuera crítico, entonces estaría en su responsabilidad de anotarse en un libreto de cuantas veces él mismo entró a su página y mas tarde simplemente cambia el valor de "counter.txt". Sería la forma mas segura de llevar una cuenta.
Saludos.
Abel.

barracuda 25-02-2008 15:15:38

no podria ser......
 
hola, no podria ser que cada vez q se loguee en la seccion "administrador" lo que comunmente llamamos el "backoffice" o "el acceso a los superusuarios": descontar en 1 el contador de visitas? el script no seria mas q cuatro o cinco lineas de codigo, bueno esto lo pregunto con toda mi ignorancia, pero creo q va a depender de como trabaja el contador de visitas, ya que si el contador de visitas cuenta solamente cuando un "usuario registrado" se loguea entonces no le veo ningun problema ya que en ese caso el "usuario registrado" tendria por ejemplo categoria "2" y el "administrador" o "superusuario" tendria por "categoria 1" entonces solamente tendriamos q incrementar el contador cuando se loguee un usuario de categoria "2". y sobre las sessiones me parece lo mas correcto hacer uso de estas, en cualquier caso, saludos.......


La franja horaria es GMT +2. Ahora son las 16:28:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi