### [How to Stop People From Submitting Your WordPress Form More Than Once](https://wpforms.com/how-to-stop-people-from-submitting-your-wordpress-form-more-than-once/)

**Published:** August 12, 2026
**Author:** Hamza Shahid

**Excerpt:** You open your WPForms entries and two rows look identical, same name and email address, submitted 40 seconds apart. Now you have to work out which one counts.

That second entry might be a browser resending the submission, or someone entering your giveaway twice on purpose. Each cause has a different fix, so it helps to know which one you're dealing with.

**Content:**

You open your WPForms entries and two rows look identical, same name and email address, submitted 40 seconds apart. Now you have to work out which one counts.

That second entry might be a browser resending the submission, or someone entering your giveaway twice on purpose. Each cause has a different fix, so it helps to know which one you’re dealing with.

[Lock Down Your WordPress Forms Now! 🙂](https://wpforms.com/pricing)

## How to Prevent Duplicate Form Submissions in WordPress

WPForms gives you four separate controls that stop repeat submissions, and they work at different levels. Three of them come from the Form Locker addon, and the fourth is already sitting in your form’s general settings.

**What You’ll Need**

WPForms Pro or higher, since Form Locker is a Pro addon. You’ll also want a published form to test against. Method 4 is the exception, and it works on every version of WPForms including the free one.

- [Step 1: Install the WPForms Pro Plugin](#step-1-install-the-wpforms-pro-plugin)
- [Step 2: Activate the Form Locker Addon](#step-2-activate-the-form-locker-addon)
- [Method 1: Require a Unique Answer on Your Email Field](#method-1-require-a-unique-answer-on-your-email-field)
- [Method 2: Limit Entries Per Person by Email or IP Address](#method-2-limit-entries-per-person-by-email-or-ip-address)
- [Method 3: Restrict Your Form to Logged-In Users](#method-3-restrict-your-form-to-logged-in-users)
- [Method 4: Fix Accidental Double Submissions (No Addon Needed)](#method-4-fix-accidental-double-submissions-no-addon-needed)

### Step 1: Install the WPForms Pro Plugin

WPForms is a drag and drop form builder with 2,100+ templates, so the forms where duplicate entries actually cause damage are already built for you. That covers a [contest entry form](https://wpforms.com/how-to-create-a-contest-entry-form-in-wordpress-step-by-step/) and everything you’d need to [run a giveaway on your site](https://wpforms.com/how-to-host-a-giveaway-on-your-wordpress-site/).

What I like most about WPForms for this particular job is that you don’t need a separate plugin for any of it. Everything below is either a WPForms setting or part of an addon your license already includes.

Three of the four methods need the Form Locker addon, which unlocks at the Pro license level. Pro runs $199.50 per year at the current introductory price, and the same license covers surveys, analytics, and a lot more!

[![The WPForms pricing page. ](https://wpforms.com/wp-content/uploads/2024/08/WPForms-Pricing-Page.png)](https://wpforms.com/pricing/)To get started, buy the [Pro license](https://wpforms.com/pricing/). Then, install WPForms on your website. If you need help, follow these instructions on [how to add a plugin to WordPress](http://www.wpbeginner.com/beginners-guide/step-by-step-guide-to-install-a-wordpress-plugin-for-beginners/).

[Upgrade to WPForms Pro Now! 🙂](https://wpforms.com/pricing)

### Step 2: Activate the Form Locker Addon

Form Locker holds three of the four controls in this guide, so it goes in first. The addon covers form permissions generally, and entry limits are one part of that.

From your WordPress dashboard, go to **WPForms » Addons** and type Form Locker into the search box.

![](https://wpforms.com/wp-content/uploads/2023/11/search-addons-1024x366.png)Click **Install Addon** on the Form Locker card. WPForms downloads and activates it for you, and the button turns into a status switch.

![activate form locker addon](https://wpforms.com/wp-content/uploads/2024/12/activate-form-locker-addon-1024x600.png)Now open the form you want to protect and go to **Settings » Form Locker** in the form builder. Every form-level control in this guide lives in this one panel. The panel splits into four groups:

- **Form Verification** asks visitors for a password, their age, or their email address before the form loads.
- **Form Scheduling** opens and closes submissions on set dates.
- **Form Restrictions** limits the form to logged-in users.
- **Entry Limits & Restrictions** holds both the per-person limit and the total cap.

![](https://wpforms.com/wp-content/uploads/2018/10/settings-form-locker-1024x642.png)You’ll only need the last two for duplicate prevention. The [Form Locker addon documentation](https://wpforms.com/docs/how-to-install-and-use-the-form-locker-addon-in-wpforms/) walks through the password and scheduling options if you want them later.

### Method 1: Require a Unique Answer on Your Email Field

**Use this when** one specific value must never appear twice across all your entries, like an email address, a phone number, or an employee ID.

Open your form in the builder and click the **Email** field in the preview area. The **Field Options** panel opens on the left. Click the **Advanced** tab at the top of the Field Options panel.

![Email advanced field options](https://wpforms.com/wp-content/uploads/2018/10/email-advanced-field-options-1024x250.png)Then, scroll down to **Advanced Options** and click the checkbox labeled **Require unique answer**. Six field types support this setting:

- Name
- Email
- Phone
- Website
- Password
- Single Line Text

![](https://wpforms.com/wp-content/uploads/2024/10/Require-Unique-Answer-Email-1024x451.png)Anyone who now enters an email address that’s already in your entries gets stopped before the form submits. The error reads **The value must be unique**, and you can [change the validation message](https://wpforms.com/docs/customize-wpforms-validation-messages/) if that wording doesn’t suit your form.

![](https://wpforms.com/wp-content/uploads/2024/10/Email-Value-Must-Be-Unique-1024x177.png)This setting matches on the value itself, so someone using a second email address can still enter twice.

### Method 2: Limit Entries Per Person by Email or IP Address

**Use this when** you want one submission per person rather than one per value. This is the form-level version of Method 1, and it’s the setting most people are actually looking for.

Go back to **Settings » Form Locker** and find the **Entry Limits & Restrictions** group. Toggle on **Enable user entry limit**. A few more fields appear underneath it.

![Enabling user entry limits for a form](https://wpforms.com/wp-content/uploads/2021/11/enable-user-entry-limit-1024x346.png)Check **Restrict by email address**, then pick your email field from the **Email Field** dropdown. You can check **Restrict by IP address** as well, or instead of it.

![](https://wpforms.com/wp-content/uploads/2018/10/restrict-entries-ip-email-1024x347.png)**Email or IP, and how each one fails**

IP address blocking catches everyone sharing a connection, so an office or a family on the same Wi-Fi gets locked out after the first submission.

Mobile carriers are worse, since they route thousands of phones through one address, and anyone switching to a hotspot slips past anyway.

Email address blocking is far friendlier to real visitors, and a second inbox or a plus alias sidesteps it.

Checking both boxes tightens things up, and if one specific address is the problem you can [block a specific email address](https://wpforms.com/how-to-block-an-email-address-on-wordpress/) outright.

Set **Limit** to 1, then choose a window from the dropdown beside it.

![Select limit](https://wpforms.com/wp-content/uploads/2023/01/select-limit-1024x532.png)That dropdown is what keeps one entry per person from meaning one entry ever. You can limit entries till the end of the day, week, month, or year, or use a rolling window of 24 hours, 7 days, around 30 days, or around 365 days.

A daily poll can allow one vote per day, and an [RSVP form](https://wpforms.com/how-to-create-an-rsvp-form-in-wordpress/) for a single event can hold each guest to one reply for the year. Write the message people see once they hit the limit, then save your form.

![](https://wpforms.com/wp-content/uploads/2023/01/limit-till-end-of-the-month-1024x466.png)### Method 3: Restrict Your Form to Logged-In Users

**Use this when** a submission genuinely has to come from one specific human, like voting, job applications, or employee feedback. A WordPress account ties the submission to a specific person rather than to a value they typed in.

In the same Form Locker panel, find the **Form Restrictions** group and turn on the logged-in users option.

![Restricting a form to logged-in users with the Form Locker addon](https://wpforms.com/wp-content/uploads/2018/10/form-restriction-settings-1-1024x540.png)Write the message logged-out visitors will see where the form used to be. Smart Tags work in this field, so you can drop in links to your login and registration pages.

Save the form, then open it in a private window to check what a logged-out visitor actually gets. Of the four methods, this one gives the strongest guarantee while asking the most of your visitors.

**Pro Tip**

When a duplicate would genuinely cost you something, stack these controls instead of choosing between them. Restrict the form to logged-in users, require a unique answer on the email field, and set the user entry limit to 1.

Each one covers a gap the other two leave open, which is why the combination holds up better than any single setting on its own. If your contest rules call for it, this same panel can also [age-restrict a form](https://wpforms.com/how-to-age-restrict-wordpress-forms/).

![](https://wpforms.com/wp-content/uploads/2018/10/form-restriction-message-example-1-1024x384.png)If those accounts don’t exist yet, start with a [user registration form](https://wpforms.com/how-to-create-a-user-registration-form-in-wordpress/), and our guide on how to [restrict access to logged-in users](https://wpforms.com/how-to-restrict-access-to-logged-in-users-on-your-wordpress-forms/) covers the rest of the setup.

### Method 4: Fix Accidental Double Submissions (No Addon Needed)

**Use this when** your duplicates arrive seconds apart with identical data, which means the browser sent the same submission twice.

Two things cause this kind of duplicate, and neither one involves a visitor doing anything wrong.

When a form posts data and then shows a confirmation message on that same URL, refreshing the page or reopening the tab later can send the data again.

The other cause is extra clicks during a slow submission, which turns up most on forms with file uploads or a CAPTCHA check.

Open **Settings » General** in the form builder and expand the **Advanced** section. Check whether **Enable AJAX form submission** is switched on.

![](https://wpforms.com/wp-content/uploads/2024/12/enable-ajax-form-submission-1024x492.png)With AJAX on, the submission and the confirmation both happen without reloading the page, so there’s no page load left for a refresh to repeat. Our guide to [AJAX form submissions](https://wpforms.com/wordpress-ajax-contact-form/) covers what else it changes.

Now go to **Settings » Confirmations** and look at **Confirmation Type**. By default, it selects **Message**, and it’s the option that leaves visitors sitting on the URL they just posted to.

![Default confirmation message](https://wpforms.com/wp-content/uploads/2023/07/Default-confirmation-message-1024x643.png)Switch it to **Show Page** and pick the page you want people to land on. **Go to URL (Redirect)** does the same job when the destination sits on another site.

![confirmation show thank you page](https://wpforms.com/wp-content/uploads/2018/02/confirmation-show-thank-you-page-1024x682.png)Either option moves the visitor to a fresh URL, so a refresh just reloads that page harmlessly. Sending people to a real [thank you page](https://wpforms.com/how-to-make-a-thank-you-page-wordpress/) also gives you somewhere to put the next step.

If duplicates keep arriving after both changes, check your page cache. A cached form page or confirmation page can serve a stale state, so exclude both from your caching rules.

### FAQs on Preventing Duplicate Form Submissions

Duplicate entries come up often in our support conversations, partly because two very different problems share the same symptom. The answers below cover how to tell those problems apart and which setting handles each one.

#### Why is my WordPress form submitting twice?

Usually the browser sent the submission twice rather than the visitor filling your form out again. Refreshing a confirmation message, or reopening a tab that’s still holding the posted data, can resend it.

Check the timestamps in **WPForms » Entries** first. Duplicates seconds apart with identical answers point to a browser issue, so Method 4 is where to start. Entries spread across hours or days usually mean a person submitted twice on purpose.

#### How do I stop the same email address from submitting my form twice?

Turn on **Require unique answer** in the Email field’s **Advanced** options, which is Method 1 above. WPForms checks that address against your existing entries and blocks the submission before it saves.

This is the quickest of the four fixes because it needs no addon setup, just a single toggle on the field itself.

#### Does limiting submissions by IP address block legitimate visitors?

It does happen, and it’s the main reason to think twice before restricting by IP address on its own. Anyone sharing an internet connection shares an IP address, so an office, a school, or a household can all be blocked after one person submits.

Mobile networks make it worse by routing large numbers of phones through the same address. Restricting by email address is the safer default for public forms. Keep IP restrictions for cases where you’d rather turn away a few real visitors than accept a duplicate.

#### Can someone get around a one-submission-per-person limit?

With email or IP limits, yes, and the workarounds are simple. A second inbox defeats an email restriction, while switching from Wi-Fi to mobile data defeats an IP restriction.

Restricting the form to logged-in users is the only option that ties a submission to an actual identity. Use it when a duplicate would affect a result you have to defend, like a vote or an application.

#### Do I need a separate plugin to prevent duplicate form submissions?

No separate plugin is needed, because everything in this guide is either built into WPForms or included with the Form Locker addon on Pro and higher.

There are standalone duplicate-blocking plugins for WordPress, and they mostly replicate the unique-field check from Method 1. If you’re already on WPForms Pro, you’d be adding a plugin to do something your form builder does natively.

#### Are duplicate submissions the same thing as spam?

No, and mixing them up leads to the wrong fix. Spam is automated traffic from bots hitting your form with junk data, while duplicates are the same real submission arriving more than once.

Entry limits and unique answers won’t do much against a bot that varies its details on every attempt. Spam needs CAPTCHA, filtering, and anti-spam tools instead.

#### Can I allow one submission per person per week instead of just once?

Yes, and the **Limit** field in **Entry Limits & Restrictions** pairs with a dropdown that sets exactly that window, so you can allow one entry per 7 days or reset at the end of each week.

The same dropdown covers daily, monthly, and yearly windows, plus rolling periods of 24 hours, 30 days, and 365 days. This suits recurring forms like weekly check-ins or monthly feedback requests.

### Next, Keep Spam Off the Forms You Just Locked Down

Duplicate entries and spam entries look similar sitting in your entries list, and they call for different tools.

Now that repeat submissions are handled, our guide to building [spam-free contact forms](https://wpforms.com/how-to-build-spam-free-wordpress-contact-forms-the-ultimate-guide/) covers the filters and CAPTCHA options that clear out the bot traffic behind the rest of the noise.

If you’re setting up a vote where one response per person is the entire point, a [poll form](https://wpforms.com/how-to-create-a-poll-form-in-wordpress-step-by-step/) pairs live results with the limits you just configured.

[Start Building Protected Forms Today! 🙂](https://wpforms.com/pricing)

Ready to build your form? Get started today with the easiest WordPress form builder plugin. [WPForms Pro](https://wpforms.com/pricing) includes lots of free templates and offers a 14-day money-back guarantee.

If this article helped you out, please follow us on [Facebook](https://facebook.com/wpforms) and [Twitter](https://twitter.com/easywpforms) for more free WordPress tutorials and guides.

**Categories:** WordPress Tutorials

**Tags:** form locker, form restrictions, WPForms, wpforms pro license

---

