Forminator – missing submissions (not spam)
-
Hi
We’re using Forminator for our 4 application forms.
Our form submissions seem to be missing entries – eg submission 3441. It is not in any of the submissions for the 4 forms.
I can see an entry in the wp_frmt_form_entry table for that ID, but there is no values for that entry_id in the wp_frmt_form_entry_meta table.
Why would this happen?
Does this mean that we are losing application data as there is only an insert into the wp_frmt_form_entry table, and not the wp_frmt_form_entry_meta table? Why would it not complete the entry of the actual data into the wp_frmt_form_entry_meta table?When we do an export of the entries, we’re also seeing many empty rows with only a submission time and nothing else. We have many mandatory fields, so this can not be a valid submission, as the validation would’ve prevented it.
Below are links to screenshots of both db tables mentioned, as well as a csv export of the data.
1. https://www.dropbox.com/s/u5bl3p7k1kreptl/1%20-%20entry%20in%20wp_frmt_form_entry.jpg?dl=0
2. https://www.dropbox.com/s/252c6g2fcpckmkc/2%20-%20no%20entry%20in%20meta.jpg?dl=0
3. https://www.dropbox.com/s/klw1ecih2d6lo0s/3%20-%20gaps%20in%20csv.jpg?dl=0
Kind Regards
Maraleen
-
Hi @maraleen
I hope you are doing well today.
1. Based on the date you have shared it seems those submissions are empty and they belong to the correct form ID.
After a review of your CSV file it looks like the issue started here:
Nov 7, 2022 @ 9:14 PM
and exist until todayDo you have any kind of hosting logs that will tell us if is there any server hiccup, updates, cron jobs logs or any logs where you could compare dates and times with those missing submissions?
===============
2. Apart from above can you add this code to your wp-config.php file:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
also, delete (if exist)
define('WP_DEBUG', false);
The line should be placed above the “/* That’s all, stop editing! Happy blogging. */”
This will generate in the /wp-content/ folder a debug.log file. With this file, we could compare errors if any exist and compare with future failed submissions.
===============
3. Apart from mandatory fields, are there any Conditional rules or hidden field?
===============
4. Please export your form and upload it to google drive or dropbox and share a link in your next reply so that we could test it on our lab.
Kind Regards,
KrisHi Kris
1. I’ve requested the server error log and will post here.
2. I will add.
3. There are many conditional rules & 1 hidden field.
4. Export of form: https://www.dropbox.com/s/qa8g6iqr6ap0ob7/export%20-%20forminator-bursary-application-2023-form-export.txt?dl=0Kind Regards
MaraleenRequested server error log: https://www.dropbox.com/s/phd1uz2upewh3zg/serverlog.txt?dl=0
HI @maraleen
Thanks for sharing the form and log. Form is quite complex and it includes some upload fields. In the log there’s not much but there are some entries that seem to correspond with uploads on the form and the log suggests that the AJAX requests (related to those uploads) are timing out.
If this is the case, indeed, then it would be server-side issue. Is your site powered by Apache webserver and do you have access to Apache configuration? If you don’t, you may need to contact your host for help (same if the site is powered by nginx webserver).
The configuration part to check would be values of these two configuration directives:
TimeOut ProxyTimeout
and most likely they are quite a small values (like 30 or 60). If yes, then increasing them – I’d suggest at least 180 but better yet 300 for the first one and anywhere between 300-600 for the second one – should help here.
Could you check if that’s doable and if so – if it solves the issue?
Kind regards,
AdamThank you for your response.
I’ve contacted the host to enquire about the values.
Both settings are set to 300 seconds.Can I check something with you? At which stage is the confirmation message shown on the screen? At the end of all the functionality – eg, after the inserts into BOTH tables? After the confirmation email has been sent? Therefor a user will ONLY see a confirmation message if his data was successfully captured in both tables?
We’ve had a number of instances where users see an error message on the screen. I’m trying to determine if these half inserts are perhaps part of that scenario.Kind Regards
MaraleenHi @maraleen,
Can I check something with you? At which stage is the confirmation message shown on the screen? At the end of all the functionality – eg, after the inserts into BOTH tables? After the confirmation email has been sent? Therefor a user will ONLY see a confirmation message if his data was successfully captured in both tables?
The form will validate the entries, and only after a successful submission, it’ll send an email and insert it into the tables. However, I’m checking with our developer to confirm the order in which it works and will get back once we get further update.
However, could you please go through your admin email notification and check whether there were indeed any email notifications with the submission ID 3441?
Also, if possible, please provide the Site Info of the website so we can have a better idea.
You can find the information located under “Tools > Site Health > Information” and click on the button “Copy site information to clipboard.”.`
Looking forward to your response.
Kind Regards,
NithinHi Nithin
I’ll check this particular ID to see if an ID was sent.
We do have another example though where a user received a confirmation email, but no submission exists in the backend.SITE INFO:
### wp-core ### version: 6.1.1 site_language: en_US user_language: en_US timezone: +02:00 permalink: /%category%/%postname% https_status: true multisite: false user_registration: 0 blog_public: 0 default_comment_status: open environment_type: production user_count: 15 dotorg_communication: true ### wp-paths-sizes ### wordpress_path: /home/suburkxi/public_html wordpress_size: 689.81 MB (723314520 bytes) uploads_path: /home/suburkxi/public_html/wp-content/uploads uploads_size: 18.36 GB (19713742861 bytes) themes_path: /home/suburkxi/public_html/wp-content/themes themes_size: 66.35 MB (69575684 bytes) plugins_path: /home/suburkxi/public_html/wp-content/plugins plugins_size: 179.68 MB (188408731 bytes) database_size: 145.81 MB (152893095 bytes) total_size: 19.42 GB (20847934891 bytes) ### wp-dropins (1) ### advanced-cache.php: true ### wp-active-theme ### name: Divi (Divi) version: 4.19.0 (latest version: 4.19.1) author: Elegant Themes author_website: https://www.elegantthemes.com parent_theme: none theme_features: core-block-patterns, block-templates, widgets-block-editor, custom-background, automatic-feed-links, post-thumbnails, menus, title-tag, post-formats, woocommerce, wc-product-gallery-zoom, wc-product-gallery-lightbox, wc-product-gallery-slider, customize-selective-refresh-widgets, wp-block-styles, editor-style, widgets theme_path: /home/suburkxi/public_html/wp-content/themes/Divi auto_update: Disabled ### wp-themes-inactive (1) ### Twenty Twenty-Three: version: 1.0, author: the WordPress team, Auto-updates disabled ### wp-plugins-active (15) ### Antispam Bee: version: 2.11.1, author: pluginkollektiv, Auto-updates enabled Check & Log Email: version: 1.0.6, author: WPChill, Auto-updates disabled Classic Editor: version: 1.6.2, author: WordPress Contributors, Auto-updates enabled Code Snippets: version: 3.2.1, author: Code Snippets Pro (latest version: 3.2.2), Auto-updates disabled Coming Soon Page, Maintenance Mode, Landing Pages & WordPress Website Builder by SeedProd: version: 6.15.6, author: SeedProd, Auto-updates disabled Duplicator: version: 1.5.1, author: Snap Creek, Auto-updates enabled Email Address Encoder: version: 1.0.22, author: Till Krüss, Auto-updates enabled Forminator: version: 1.18.2, author: WPMU DEV (latest version: 1.20.1), Auto-updates disabled GAinWP Google Analytics Integration for WordPress: version: 5.4.6, author: IntelligenceWP, Auto-updates enabled LoginPress - Customizing the WordPress Login Screen.: version: 1.6.3, author: WPBrigade, Auto-updates disabled Prevent Direct Access: version: 2.8.2, author: BWPS, Auto-updates disabled Prevent Direct Access Gold: version: 3.3.4, author: BWPS, Auto-updates disabled UpdraftPlus - Backup/Restore: version: 1.22.23, author: UpdraftPlus.Com, DavidAnderson, Auto-updates disabled User Role Editor: version: 4.63.1, author: Vladimir Garagulya, Auto-updates disabled Wordfence Security: version: 7.7.1, author: Wordfence, Auto-updates disabled ### wp-plugins-inactive (2) ### WPML Multilingual CMS: version: 4.5.8, author: OnTheGoSystems, Auto-updates disabled WPML String Translation: version: 3.2.1, author: OnTheGoSystems, Auto-updates disabled ### code-snippets (9) ### snippet-1: name: Make upload filenames lowercase, scope: global, modified: 2022-06-22 18:18:59, tags: [sample, media] snippet-2: name: Disable admin bar, scope: front-end, modified: 2022-06-22 18:18:59, tags: [sample, admin-bar] snippet-3: name: Allow smilies, scope: global, modified: 2022-06-22 18:18:59, tags: [sample] snippet-4: name: Current year, scope: content, modified: 2022-06-22 18:18:59, tags: [sample, dates] snippet-6: name: Forminator - Next Button - Afrikaans, scope: front-end, modified: 2022-06-30 16:14:25 snippet-7: name: Disable Image Scaling, scope: global, modified: 2022-07-12 08:36:24 snippet-8: name: Forminator - Add submission ID to export - English Form, scope: admin, modified: 2022-07-13 09:38:38 snippet-12: name: Forminator - Add submission IDs to both form exports, scope: admin, modified: 2022-10-11 10:47:06 snippet-10: name: DIVI - remove additional image sizes, scope: global, modified: 2022-07-15 12:35:32 ### wp-media ### image_editor: WP_Image_Editor_Imagick imagick_module_version: 1690 imagemagick_version: ImageMagick 6.9.10-68 Q16 x86_64 2021-10-14 https://imagemagick.org imagick_version: 3.7.0 file_uploads: File uploads is turned off post_max_size: 256M upload_max_filesize: 64M max_effective_size: 64 MB max_file_uploads: 20 imagick_limits: imagick::RESOURCETYPE_AREA: 20 GB imagick::RESOURCETYPE_DISK: 9.2233720368548E+18 imagick::RESOURCETYPE_FILE: 786432 imagick::RESOURCETYPE_MAP: 20 GB imagick::RESOURCETYPE_MEMORY: 10 GB imagick::RESOURCETYPE_THREAD: 1 imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BGRO, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV gd_version: bundled (2.1.0 compatible) gd_formats: GIF, JPEG, PNG, WebP, BMP, XPM ghostscript_version: unknown ### wp-server ### server_architecture: Linux 3.10.0-1160.66.1.el7.x86_64 x86_64 httpd_software: Apache php_version: 7.4.33 64bit php_sapi: fpm-fcgi max_input_variables: 5000 time_limit: 180 memory_limit: 256M max_input_time: 180 upload_max_filesize: 64M php_post_max_size: 256M curl_version: 7.86.0 OpenSSL/1.1.1s suhosin: false imagick_availability: true pretty_permalinks: true htaccess_extra_rules: true ### wp-database ### extension: mysqli server_version: 10.3.37-MariaDB client_version: mysqlnd 7.4.33 max_allowed_packet: 268435456 max_connections: 500 ### wp-constants ### WP_HOME: undefined WP_SITEURL: undefined WP_CONTENT_DIR: /home/suburkxi/public_html/wp-content WP_PLUGIN_DIR: /home/suburkxi/public_html/wp-content/plugins WP_MEMORY_LIMIT: 40M WP_MAX_MEMORY_LIMIT: 256M WP_DEBUG: true WP_DEBUG_DISPLAY: false WP_DEBUG_LOG: true SCRIPT_DEBUG: false WP_CACHE: false CONCATENATE_SCRIPTS: undefined COMPRESS_SCRIPTS: undefined COMPRESS_CSS: undefined WP_ENVIRONMENT_TYPE: Undefined DB_CHARSET: utf8 DB_COLLATE: undefined ### wp-filesystem ### wordpress: writable wp-content: writable uploads: writable plugins: writable themes: writable mu-plugins: writable
Hi Nithin
I’ve checked and no admin or user notification email was sent for #3441.
Kind Regards
MaraleenHi @maraleen
There is a high possibility the server has timed out that’s why the response was not received.
The response is sent after all of it. It processes fields, uploads, and payments (if any), then save fields to the created entry, sends data to addons, sends notifications, then responds.
As you using many single upload fields in this large form, and it will mostly cause a timeout. That’s why we suggest the ajax multi-upload so the files won’t be uploaded on submit.
Please try to increase as well time_limit and max_input_time but there are no guarantees. Also if the end-user has slow internet or large files in those uploads there is also possibility of time out.
Kind Regards,
KrisHi
Thanks for the breakdown.
Yes, I can see the possibility of it timing out during uploads, but according to your workflow the uploads are done BEFORE any inserts into the db.
If it therefor did NOT time out during the upload, and then did the first insert into the wp_frmt_form_entry table, why would it then not do the next insert into wp_frmt_form_entry_meta table?I chose the single upload, as users should only upload one file per field, but I see there is a way to limit it to 1 even if you chose multi. I will implement the ajax multi-upload for future upload fields.
Kind Regards
MaraleenHi @maraleen,
Yes, I can see the possibility of it timing out during uploads, but according to your workflow the uploads are done BEFORE any inserts into the db.
If it therefor did NOT time out during the upload, and then did the first insert into the wp_frmt_form_entry table, why would it then not do the next insert into wp_frmt_form_entry_meta table?I’m afraid, I’ll have to check with our developer to confirm what all instances this might occur.
Will keep you posted once we get further update.
Kind Regards,
NithinHi @maraleen,
So the workflow would be like this, the form would save the entry first using $entry->save that saves the entry into the form_entry table.
Then the uploads are processed, then payments, then transfer the uploads if there are payment fields etc and then comes the save_entry_fields which saves the fields into the form_entry_meta table.
The upload process would be in between these, for example:
$entry->save . . . uploads processing . . . self::save_entry_fields( $entry )
So timeouts would be one of the reasons as explained before. Please do let us know if you have any further queries.
Kind Regards,
NithinHi @maraleen,
Since we haven’t heard from you for a while. I’ll mark this thread as resolved for now. Please feel free to re-open the thread if you need further assistance.
Best Regards
Nithin
- The topic ‘Forminator – missing submissions (not spam)’ is closed to new replies.