Pregunta

en mi solicitud de un usuario puede publicar su / su artículo que otros usuarios pueden respuesta a la American National Standard voto arriba y abajo también como stackoverflow tiene para la pregunta publicada American National Standard respuestas.

¿Cómo puedo restringir el usuario para que él / ella no puede votar dos veces?

¿Fue útil?

Solución

métodos Dos:

  • del lado del cliente: Conjunto la galleta (identificadores de artículos para los últimos 5 o 10 votos) y no permiten que votar de nuevo. Esto es fácilmente piratear, pero le permite implementar sin ningún tipo de base de datos cambia!
  • lado del servidor: un seguimiento de todos y cada voto y votar en una tabla como <{userID}, {vote UP/DOWN}, {articleID}>

Stackoverflow utiliza la base de datos para almacenar todos estos datos. También bloquean su voto después de un período por lo que no puede deshacer la acción.

Otros consejos

Sólo almacenamiento de usuario id en la mesa de votación.
Por lo tanto, siempre se puede comprobar si el usuario particular ya votó.
Artículo-ID, ID de usuario, tiempo de votación y columnas de valores voto es suficiente

creo que la mejor manera de hacerlo es almacenar todos los votos y los identificadores de usuario en la base de datos, y si se hace más grande que puede eliminar los registros antiguos de la base de datos después de una semana / mes / etc y restringir la votación de artículos que son más antiguos de una semana / mes / etc, por lo que no se podrá votar dos veces en el mismo artículo.

Usted tendrá que utilizar algún tipo de script del lado del servidor para recordar a los usuarios por IP o algunos otros datos únicos. Vas a tener que almacenar el IP u otros datos y recordarlo. Cuando los intentos de usuario para subir / bajar voto de nuevo, tendrá que comprobar en contra de eso para ver si debe dejar que lo hagan. Usted debe dejar que ellos hagan lo contrario, sin embargo, en caso de que quieran cambiar su voto. Esto se puede hacer con PHP y MySQL (y un montón de otras cosas).

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