CONTROL DE VOTOS
Tengo un formulario en el que se votan unas determinadas opciones. Lo que quiero saber es como controlar que una misma persona no vote mas de una vez en el mismo dia.
Como puedo hacer esto?
Si fuera posible, respondan a mi e-mail porfavor. Muchas gracias.
Como puedo hacer esto?
Si fuera posible, respondan a mi e-mail porfavor. Muchas gracias.
Seria muy facil hacerlo con cookies, a las que puedes porner el tiempo de vida que deben tener, en este caso de un dia, el problema esta en que el cliente deshabilite las cookies
Hola,
Puedes consultar y controlar la dirección ip del usuario que se conecta mediante "serverVariables". En el caso peor (de conexión con modem) esta información es idéntica durante toda la sesión.
Este es el script:
<%
Request.ServerVariables("REMOTE_ADDR")
%>
Puedes consultar y controlar la dirección ip del usuario que se conecta mediante "serverVariables". En el caso peor (de conexión con modem) esta información es idéntica durante toda la sesión.
Este es el script:
<%
Request.ServerVariables("REMOTE_ADDR")
%>
YO CREARIA UN OBJETO SESSION
SI EL OBJETO SESSION ESTA VACIO PERMITIRIA EL VOTO SI YA TIENE ALGUN DATO PUES YA NO SE LO PERMITES
LO UNICOQUE REQUIERES ES UN SESSION Y VALIDAR CON UN IF THEN ELSE
SALUDOS
SI EL OBJETO SESSION ESTA VACIO PERMITIRIA EL VOTO SI YA TIENE ALGUN DATO PUES YA NO SE LO PERMITES
LO UNICOQUE REQUIERES ES UN SESSION Y VALIDAR CON UN IF THEN ELSE
SALUDOS
La manera de la cual lo hice es la siguiente:
1° Creo una variable
<%
Dim sesion
sesion=Session.SessionID
%>
2° Creo una Juego de registros
<%
set vota = Server.CreateObject("ADODB.Recordset")
vota.ActiveConnection = MM_tecnoagencia_STRING
vota.Source = "SELECT * FROM Votaciones ORDER BY Sesion ASC"
vota.CursorType = 0
vota.CursorLocation = 2
vota.LockType = 3
vota.Open()
vota_numRows = 0
%>
3° Hago un replace
<%
votacion=vota.Fields.Item("Sesion").Value
%>
4° Creo un formulario para votar y declaro una sentencia que lo me muestre solo si el ultimo registro ingresado que corresponderia al numero de sesion de la maquina ,en la base de datos es diferente al actual , o sino me muestra un clon de mi formulario con todas las casillas desactivadas...
<% if votacion<>sesion then %>
<form action="<%=MM_editAction%>" method="POST" name="votar" >
<p>
<input type="radio" name="votar" value="1">
Si, absolutamente<br>
<input type="radio" name="votar" value="2">
No, no cumple con las espectativas<br>
<input type="radio" name="votar" value="3">
No tengo información al respecto<br>
<input type="submit" name="Submit" value="opinar" class="text">
<input type="hidden" name="sesion" value="<%=Session.SessionID %>">
<input type="hidden" name="MM_insert" value="true">
</p>
</form>
<%
else votacion=sesion
Response.Write("<form><input type=radio name=votar checked><i> <font color= #999999>Si, absolutamente</font></i><br><input type=radio name=votarr checked><i> <font color= #999999>No, no cumple con las espectativas<br></font></i><input type=radio name=votarrr checked><font color= #999999><i>No tengo información al respecto<br></i></font> <input type=submit value=opinar class=text><b> <font color= #FF0000>** Solamente se puede votar una vez **</font></b></form></form>" )
end if
%>
Si lo quieren ver funcionando vayanse a http://www.tecnoagencia.com , bien escribanme a mi mail.
1° Creo una variable
<%
Dim sesion
sesion=Session.SessionID
%>
2° Creo una Juego de registros
<%
set vota = Server.CreateObject("ADODB.Recordset")
vota.ActiveConnection = MM_tecnoagencia_STRING
vota.Source = "SELECT * FROM Votaciones ORDER BY Sesion ASC"
vota.CursorType = 0
vota.CursorLocation = 2
vota.LockType = 3
vota.Open()
vota_numRows = 0
%>
3° Hago un replace
<%
votacion=vota.Fields.Item("Sesion").Value
%>
4° Creo un formulario para votar y declaro una sentencia que lo me muestre solo si el ultimo registro ingresado que corresponderia al numero de sesion de la maquina ,en la base de datos es diferente al actual , o sino me muestra un clon de mi formulario con todas las casillas desactivadas...
<% if votacion<>sesion then %>
<form action="<%=MM_editAction%>" method="POST" name="votar" >
<p>
<input type="radio" name="votar" value="1">
Si, absolutamente<br>
<input type="radio" name="votar" value="2">
No, no cumple con las espectativas<br>
<input type="radio" name="votar" value="3">
No tengo información al respecto<br>
<input type="submit" name="Submit" value="opinar" class="text">
<input type="hidden" name="sesion" value="<%=Session.SessionID %>">
<input type="hidden" name="MM_insert" value="true">
</p>
</form>
<%
else votacion=sesion
Response.Write("<form><input type=radio name=votar checked><i> <font color= #999999>Si, absolutamente</font></i><br><input type=radio name=votarr checked><i> <font color= #999999>No, no cumple con las espectativas<br></font></i><input type=radio name=votarrr checked><font color= #999999><i>No tengo información al respecto<br></i></font> <input type=submit value=opinar class=text><b> <font color= #FF0000>** Solamente se puede votar una vez **</font></b></form></form>" )
end if
%>
Si lo quieren ver funcionando vayanse a http://www.tecnoagencia.com , bien escribanme a mi mail.