---
title: "Troubleshooting Form Submission Errors - Convert Forms"
description: "When a form won't submit, throws an error, or just reloads the page, the cause is almost always outside Convert Forms itself: a conflict with another"
url: "https://www.tassos.gr/docs/convert-forms/troubleshoot/form-submission-errors"
date: "2026-07-04T10:09:51+00:00"
language: "en-GB"
---

[ Home ](https://www.tassos.gr/index.php?option=com_content&view=category&layout=blog&id=24&Itemid=1088) / [ Convert Forms ](https://www.tassos.gr/index.php?option=com_content&view=category&id=43) / [ Troubleshooting and Support ](https://www.tassos.gr/index.php?option=com_content&view=category&id=77)

#  Troubleshooting Form Submission Errors

When a form won't submit, throws an error, or just reloads the page, the cause is almost always outside Convert Forms itself: a conflict with another extension or plugin, or a server limit. Below are the errors we see most often and how to fix each. If yours isn't listed, the last section shows how to surface the real cause.

## [Empty response after submitting](#empty-response)

An empty response almost always means a PHP fatal error from a third-party extension is breaking the submission. Follow [You can't tell what's causing the error](#cant-tell) to turn on full error reporting, re-submit, and see which extension the error points to.

## [500 error or out of memory on submit](#memory-500)

A 500 error with a message like *Allowed memory size of 31457280 bytes exhausted* means the request ran out of PHP memory. Raising the memory limit is tempting, but it only hides the symptom. Something is consuming that memory, usually another extension or a plugin conflict, and that's what to find first.

1. Follow [You can't tell what's causing the error](#cant-tell) to turn on full error reporting and re-submit. The stack trace usually shows what's eating the memory.

2. If it points to another extension or plugin, disable or fix that one. That's the real cause.
3. Only if you genuinely can't find the culprit, raise the PHP **memory\_limit** as a last resort, for example to 256M, through your hosting control panel, your php.ini, or by adding `php_value memory_limit 256M` to your site's .htaccess. If that line makes your site return a 500 error, your host doesn't allow changing PHP values that way, so set it from your hosting panel or ask your host.

## [Not Found error when submitting](#not-found)

The message *Not Found. The requested URL was not found on this server.* appears when SEO Settings → Use URL Rewriting is enabled in the Joomla configuration page but URL rewriting isn't enabled on your server. Enable it depending on your web server:

- **Apache**: rename the *htaccess.txt* file to *.htaccess* in your Joomla root directory. [More info](https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs_on_Apache)
- **IIS**: [Enable SEF URLs on IIS](https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs_on_IIS)
- **Nginx**: [Enable SEF URLs on Nginx](https://docs.joomla.org/Enabling_Search_Engine_Friendly_(SEF)_URLs_on_Nginx)

## [Invalid security token error](#invalid-token)

The message *The most recent request was denied because it contained an invalid security token* is likely caused when the *Use Joomla! CSRF Token* option is enabled and one of the following is true:

- The Session Lifetime in Joomla's Global Configuration is too low. Increasing it results in fewer invalid-token messages for legitimate users.
- Joomla's Page Cache is enabled. In most cases, disabling that plugin fixes it.
- You're loading the form with a module while Joomla Cache is on. Try disabling the module's Caching option.

If none of the above helps, disable the CSRF token check:

1. Log into your Joomla backend.
2. Go to Components → Convert Forms.
3. Click **Options** in the top-right toolbar.
4. Open the **Security** tab.
5. Set **Use Joomla! CSRF Token** to **No**.
6. Save.

## [Bad karma error with sh404SEF](#bad-karma)

The *Bad karma: we can't find that page!* error comes from sh404SEF converting Convert Forms' non-SEF submit URL (`https://www.yoursite.com/component/com_convertforms?task=submit`) into a SEF one, which 404s. Ask sh404SEF to use non-SEF URLs for Convert Forms:

1. In your Joomla backend, go to Extensions → sh404SEF.
2. Click **Configuration** in the top left.
3. Go to General → By component.
4. Find Convert Forms and switch its first dropdown from "use default handler" to "Use Joomla! router".

## [Invalid API key error](#invalid-api-key)

This appears when your form uses a **campaign** that syncs submissions with a third-party service that isn't set up correctly. Campaigns are deprecated, so the best fix is to [migrate to Tasks](https://www.tassos.gr/docs/convert-forms/troubleshoot/campaigns-deprecated), which replace them.

If you're still on a campaign, either set up the service correctly or remove it from the campaign.

## [Enable Javascript and cookies message](#js-cookies)

If you use Cloudflare, an *Enable Javascript and cookies to continue* message is usually the Cloudflare OWASP Core Ruleset blocking the submit request, which needs adjusting for your form.

## [Submit button just reloads the page](#redirects-back)

This usually means Convert Forms' JavaScript isn't loading, or another script on the page is erroring. Check the browser console and confirm the script loads:

1. Open your browser console (press F12, then the Console tab) and look for JavaScript errors. If one points to a file inside a plugin or your template, disable that extension and retry.
2. In the console, type `typeof ConvertForms`. It should return `'object'`. If it returns `undefined`, the Convert Forms script at *media/com\_convertforms/js/site.js* isn't loading on the page.
3. If it's not loading, confirm the file exists on your server and opens at *https://www.yoursite.com/media/com\_convertforms/js/site.js*. If you combine or minify scripts (JCH Optimize, or your template's Combine Scripts option), make sure this file isn't excluded or broken by the bundle.

## [You can't tell what's causing the error](#cant-tell)

If your error isn't listed above, or all you see is a generic *500 - Whoops, looks like something went wrong*, you need to surface the real cause. A submission error is almost always another extension or plugin interfering with the request, and Joomla hides the details until you turn on full error reporting.

### [Get the real error message](#get-error)

1. Log into your Joomla backend.
2. Go to System → Global Configuration.
3. Open the **Server** tab and set **Error Reporting** to **Maximum**.
4. Open the **System** tab and set **Debug System** to **Yes**.
5. Save.

### [Re-submit the form and read the error to find the culprit](#find-culprit)

Submit the form again and read the full error and stack trace that now appears. It usually names a file and a line. If that path points to another extension or plugin (something under */plugins/*, */components/*, or a template folder that isn't Convert Forms), that's your culprit.

If the error doesn't obviously point at one extension, narrow it down:

- **Disable other plugins one by one**, re-submitting after each. Start with the usual suspects: security and firewall plugins (RSFirewall, ModSecurity), optimization plugins (JCH Optimize), and caching plugins (Page Cache). Re-enable any that aren't the cause.
- **Switch to a default Joomla template** such as Cassiopeia to rule out your template.
- **Update Convert Forms** under Extensions → Manage → Update. Older builds may not be compatible with your Joomla version.

One exception: if the submission breaks because of harmless PHP *warnings* or *notices* rather than a fatal error, those can corrupt the form's AJAX response. In that case, setting **Error Reporting** to **None** is the fix.

### [Turn the options back off](#turn-off)

Once you've found the cause, set **Error Reporting** back to **Default** (or **None**) and **Debug System** back to **No**. Leaving Error Reporting on Maximum or Debug System on for a live site exposes error details to your visitors.

Still stuck? Open a [support ticket](https://www.tassos.gr/contact) with the exact error message and stack trace.

 Last updated on Jul 3rd 2026 08:07
