Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/03/2010, 11:14
Avatar de jartaud
jartaud
 
Fecha de Ingreso: octubre-2009
Ubicación: Canal de Panamá
Mensajes: 96
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: ¿Que piensa de estas dos opciones?

Cita:
Iniciado por yairohn Ver Mensaje
Bueno como lo que pides es una comparación, antes que nada déjame decirte que la opción 1, tiene un error de lógica. Pues primero creas la cookie y luego preguntas si está 'set/ activada’ que no haga nada, lo cual siempre será verdadero y jamás entrará a tu else que es donde aumentas el contador.

Y la segunda opción que presentas tiene dos (2) deficiencias.
Numero 1:
Cada vez que el usuario cierre el navegador y vuelva a entrar el contador aumentará, dado que la variable de sesión se pierde.
Numero 2:
Aunque ya hayan pasado los 1800 segundos, se requiere de dos (2) refresh para que el contador aumente, dado que en el primero entrará al else y eliminara la variable de sesión habría que recargar nuevamente para que entre al if.

Nota:
Para eliminar la variable de sesión prefiero hacer $_SESSION['ctrlViews']=false; y para preguntar si está creada basta con poner if ($_SESSION['ctrlViews']).

Tu ejemplo es bastante sencillo y por lo que veo en tu UPDATE no necesitas la ip, si solo necesitas aumentar el contador 1 vez cada 30 mint por maquina basta con hacer esto:
if(!isset($_COOKIE['ctrlViews']))
{
setcookie('ctrlViews',"ok",time()+1800);

$sent="UPDATE url SET ccounter = ccounter + 1 WHERE for_ads = '$idAds'";
mysql_query($sent) or die(mysql_error());
}
OJO por que si la persona elimina la cookie manualmente antes de los 30 mints podra incrementar el contador.
Para una solucion mas segura habria que guardar la ip en la base de datos.
Hola Yairohn, gracias por tu respuesta

En primer lugar yo pedí una comparación porque pensé que estaban bien, pero a lo largo no hacen casi nada.

Lo de guardar la ip, yo lo tenia en consideración, pero que pasa con las org que funcionan bajo una sola dirección IP?? o los usurios que los tienen encriptados?'

Bueno si tienes algo mejor a mis soluciones, me lo pasa por fa.

Última edición por GatorV; 15/03/2010 a las 00:37