Using wix to create a voting system

Question:
How can I restrict voting to paid members only, so that each member can vote just once and only with their registered email? Right now, members can vote multiple times and use fake emails.

Product:
Wix Editor – specifically, the Wix Members Area and Wix Forms.

What are you trying to achieve:
I want to set up a secure voting platform on my Wix site for paid subscribers. The goal is to ensure that each paid member can submit only one vote per poll, and that only registered, logged-in members can participate. I also want to prevent users from voting with fake or non-existent emails.

What have you already tried:
I created a form using Wix Forms, but currently it allows logged-in members to vote more than once. There doesn’t seem to be an option to restrict votes to one per member or to validate that only registered members are voting. I’ve looked through Wix help articles and forums about restricting form submissions but haven’t found a solution that fits.

Additional information:
All users are required to log in as paid subscribers before accessing the voting page. I am open to using Wix apps, Velo (Wix Code), or third-party integrations if needed. My main concern is making sure the voting process is fair and secure, and that only legitimate members are able to cast their vote once.

Hi, @Josphat_Kimani !!

In recent versions of Wix, it’s possible to create conditional logic functions without writing any code. However, if that feature is only available for forms in Wix Studio or the newer version of Wix, then that method might not be usable (and it’s unclear whether checking paid membership status is even supported in that setup) :upside_down_face:. So, it’s probably better to go with the simplest and most straightforward approach.

Logically speaking, the best method would be to check two things when the voting page is opened: whether the person trying to vote is a paid member, and whether they have already voted. The “VOTE” button should only be enabled if both conditions are met. This means the button should be inactive by default.

You can likely determine whether the user is a paid member by using the Pricing Plans API or something similar. As for whether the person has already voted, you could either check the form’s collection directly, or create a new collection that serves as a list of members who have already voted. You can then check, for example, if their email address already exists in that list. :innocent:

I feel like there might be a simpler way to check if someone is a paid member, but for now, I think it should be possible to determine that using this API.

2 Likes