Hi:
I’m seeing duplicate POSTs from an ipad with no user interaction. I trust this user. The POSTs are in the access log.
There are a few things I’m struggling with:
o The POST confirmation should be changing the URL. I’m not sure how the POST is being saved on the device after that.
o User states the device is off. I’m thinking it’s in sleep mode. I’ll ask them to restart the device.
o New entry gets created with each post.
o I count 8 dups after the original POST, each separated by several hours.
o We’ve never seen this with other users. I’ve never seen anything like this after years of developing for and using GF
o This address has submitted this form twice with unique values (i.e. 2 real uses). The 2nd submission is repeating itself.
o A separate address has also submitted this form three times with no duplicate POSTs
TIA,
=====
I’m wondering if Safari failed to receive the original POST response and is resending the POST in the background.
=====
Device submitting the form with no dups is a “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1 Safari/605.1.15”
The other device is “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15”
This usually happens when the user doesn’t navigate to another page or close their browser tab after the confirmation is displayed. Most browsers these days can save the tab contents and resume it each time the browser is re-opened. For a form submission the last action performed by the browser is posting the form data to the server and since the browser keeps a copy of that request in it’s local memory for the tab it can re-perform that request each time the tab reloads until they either close the tab or navigate to another page. There are other possible user actions to create duplicate submissions, but the described above is the most common.
This is an issue which impacts all types of forms, not just those implemented using Gravity Forms.
If you have any required form field that you can consider as a source of unique data, you can enable the No Duplicates setting for it: Common Field Settings - Gravity Forms Documentation That will check the database for the form and field for any previous occurrences of the entered value and effectively prevent the form from being submitted again.
Free text fields like paragraph fields are good candidates to enable this setting. This is for example what WordPress core does to prevent duplicated comments.