Buenas, tal y como yo lo entiendo, el problema estaría en cómo se hace la validación de que el asociado haya votado.
Supongamos que tienes como página inicial validar.php donde se comprueba si el asociado ya ha votado o no, y en caso de no haber votado le muestra un desplegable para que elija opción y se pasa a la siguiente página (votar.php).
Con ese diseño, no tienes forma de impedir que se use el botón de vuelta atrás y vuelva a votar. Tampoco tendrías forma de impedir que el usuario invocara la url de votar.php pasándole a esta url los datos que le diera la gana. Para impedirlo, tienes que introducir la validación de si el usuario ha votado ya tanto en la página validar.php como en la página votar.php, es decir, tienes que hacer la comprobación dos veces.
La idea sería:
En validar.php: si el usuario no ha votado, se le muestra el desplegable y se le permite votar.
En votar.php: si el usuario no ha votado, se guardan los datos de la votación y se muestra un mensaje de confirmación.
Supongamos ahora opciones:
Un usuario vota y sale de la web: no hay problema.
Un usuario entra en validar.php y no ha votado, vota, le da al botón retroceso y vuelve a votar. Al llegar a votar.php y hacer la comprobación de si ha votado o no se comprobará que ya ha votado, por lo que debería aparecerle un mensaje indicándole "Lo sentimos. Su voto ya está registrado y no es posible votar dos veces".
Salu2