Foros del Web » Programando para Internet » ASP Clásico »

sistema de votacion.

Estas en el tema de sistema de votacion. en el foro de ASP Clásico en Foros del Web. hola, tengo un sistema de votacion de mascotas, pero resulta que como esta hecho con cookies para almacenar y saber quien voto y que no ...
  #1 (permalink)  
Antiguo 25/11/2006, 08:37
Avatar de lexus  
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 5 meses
Puntos: 4
De acuerdo sistema de votacion.

hola, tengo un sistema de votacion de mascotas, pero resulta que como esta hecho con cookies para almacenar y saber quien voto y que no vote dos veces por la misma mascota en 1 dia.. la gente sabe de las cookies y las borra permitiendo qeu puedan votar varias veces y esto es hacer trampa..
alguien sabe como solucionar esto?

puede ser con sessiones pero he escuchado qeu no es bueno almacenar sesiones por un dia y menos para tantos usuarios que visitan ese sitio por la cuestion de memoria..

tienen ideas de como solucionar esto o de un sistemna de votacion que no me permita votar dos veces pro la misma mascota en un dia pero qeu no sea con cookies porque me las borran?
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com
  #2 (permalink)  
Antiguo 25/11/2006, 09:05
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Podrías hacer algo así:
Código:
' Esta es la cantidad de voto que puede enviar por día
ngSubmitLimit = 1
Function validateSubmitLimit
   sAddress = Request.ServerVariables("REMOTE_ADDR")
   dYesterday = DateAdd("D", -1, DATE())
   Set rSelect = Server.CreateObject("ADODB.Recordset")
   sSQL = "SELECT count(*) FROM [Votos]" _
      & " WHERE [IpAddress] = '" & sAddress & "'" _ 
      & " AND [Timestamp] > #" & dYesterday & "#"
   rSelect.Open sSQL, ogConn
   If bgDebug Then
      ogDebug.WriteLine(sSQL)
      ogDebug.WriteLine("Count = " & rSelect.Fields(0))
   End If
   If rSelect.Fields(0) < ngSubmitLimit Then
      validateSubmitLimit = True
   Else
      sgError = "Ya has Votado." _
         & " Por favor vuelve a votar otro día."
      validateSubmitLimit = False
   End If
   set rSelect = Nothing
End Function
Espero que te sirva
Saludos!

EDITO: Este ejemplo funciona con la ip del usuario, entonces de esta forma, guardando en una BD el ip y la fecha en que voto hace los calculos para saber si puede o no votar nuevamente.
__________________
I'm gonna start a revolution from my bed...

Última edición por pablinff; 25/11/2006 a las 18:06 Razón: Agrego Info.
  #3 (permalink)  
Antiguo 25/11/2006, 09:34
 
Fecha de Ingreso: junio-2006
Mensajes: 147
Antigüedad: 18 años
Puntos: 1
Si quieres has una lista de email donde le pidas el email a las personas que voten y guardalos en una Base de Datos asi sabes quien voto en ese dia, incluso sería un voto por email.
__________________
________________________________
Moisés Bretón
[email protected]
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:27.