Skip Navigation

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 26 replies, has 3 voices.

Last updated by Nigel 1 year, 9 months ago.

Assisted by: Nigel.

Author Posts
February 20, 2023 at 4:10 pm #13072127

Dimitri

If I submit a form, I get a fatal error anf forms are not submitted.

When I deactivate the plugin, no error anymore and forms are sent succesfully.

See Error Log Below

2023-02-20 16:48:19.529473 [NOTICE] [1294] [T0] [162.158.233.83:42408:HTTP2-7#APVH_visit.immo:443] [STDERR] PHP Fatal error: Uncaught TypeError: array_key_exists(): Argument #1 ($key) must be a valid array offset type in /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php:98
Stack trace:
#0 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php(98): array_key_exists()
#1 [internal function]: WPML\FP\Obj::WPML\FP\{closure}()
#2 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(152): call_user_func_array()
#3 [internal function]: WPML\FP\Obj::WPML\FP\{closure}()
#4 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminate/Support/Traits/Macroable.php(56): call_user_func_array()
#5 /var/www/visit/public/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php(191): WPML\FP\Obj::__callStatic()
#6 [internal function]: WPML\Forms\Hooks\WpForms\Strings->WPML\Forms\Hooks\WpForms\{closure}()
#7 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Fns.php(164): array_map()
#8 [internal function]: WPML\FP\Fns::WPML\FP\{closure}()
#9 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(152): call_user_func_array()
#10 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php(244): WPML\FP\{closure}()
#11 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php(205): WPML\FP\Obj::WPML\FP\{closure}()
#12 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php(247): WPML\FP\Obj::WPML\FP\{closure}()
#13 [internal function]: WPML\FP\Obj::WPML\FP\{closure}()
#14 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php(152): call_user_func_array()
#15 [internal function]: WPML\FP\Obj::WPML\FP\{closure}()
#16 /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/collect/src/Illuminat
2023-02-20 16:48:19.529491 [NOTICE] [1294] [T0] [162.158.233.83:42408:HTTP2-7#APVH_visit.immo:443] [STDERR] e/Support/Traits/Macroable.php(56): call_user_func_array()
#17 /var/www/visit/public/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Strings.php(197): WPML\FP\Obj::__callStatic()
#18 /var/www/visit/public/wp-includes/class-wp-hook.php(308): WPML\Forms\Hooks\WpForms\Strings->translateEntry()
#19 /var/www/visit/public/wp-includes/plugin.php(205): WP_Hook->apply_filters()
#20 /var/www/visit/public/wp-content/plugins/wpforms/includes/class-process.php(168): apply_filters()
#21 /var/www/visit/public/wp-content/plugins/wpforms/includes/class-process.php(109): WPForms_Process->process()
#22 /var/www/visit/public/wp-includes/class-wp-hook.php(308): WPForms_Process->listen()
#23 /var/www/visit/public/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters()
#24 /var/www/visit/public/wp-includes/plugin.php(565): WP_Hook->do_action()
#25 /var/www/visit/public/wp-includes/class-wp.php(797): do_action_ref_array()
#26 /var/www/visit/public/wp-includes/functions.php(1332): WP->main()
#27 /var/www/visit/public/wp-blog-header.php(16): wp()
#28 /var/www/visit/public/index.php(17): require('...')
#29 {main}
thrown in /var/www/visit/public/wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/Obj.php on line 98

February 20, 2023 at 5:43 pm #13073001

Dimitri

And I didn't got any email from wordpress to advertise me that a fatal error occurred.

February 21, 2023 at 12:57 pm #13079189

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

Hi there

I have tried to reproduce the error on a test site on one of servers, but cannot.

You can check the test site yourself logging in with this link, and I would invite you to make any changes you think necessary to trigger the error:

hidden link

On your own site (preferably a staging site), can you please try to reproduce the problem on a minimal install, that is to say, disable all plugins except for WPForms and WPML plugins, and switch to a default theme such as twentytwentyone, then try submitting a form again.

If you no longer experience the error then that suggests that some other code is also required to trigger the issue (and which explains why the issue doesn't occur on my test site), and you should be able to determine which by a process of elimination as you re-activate plugins and revert theme.

Let me know what you find.

February 23, 2023 at 10:24 am #13097051

drissT

Dimitri, got the exact same issue since 2 days, same error log as well... Did you figure how to solve it?

February 23, 2023 at 10:42 am #13097397

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

@drissT did you try the same steps I suggested above, seeing if the issue happens on a minimal install and trying to locate any conflicts?

I'd recommend you create your own thread about the problem (you can reference this thread) so that if we need to examine your site or need it for testing we can arrange that privately.

February 27, 2023 at 11:09 am #13123197

Dimitri

@drisst No, not yet. I momentously deactivate the plugin. Each time I activate it, problem is back. As the site is in production, I can not deactivate plugins and make test on it. I have to duplicate the site on a staging environment. Need some time to do it.

Regards

February 27, 2023 at 11:43 am #13123735

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

The issue happens when there is a checkboxes field in the form and we published an erratum with a workaround about this now-known issue:

https://wpml.org/errata/wpforms-php-8x-issue-submitting-a-form-with-checkboxes-fields/

Could you please subscribe to the comments on that page to be advised when there is a solution published, and then I think we can close here.

Thanks

February 27, 2023 at 11:57 am #13123883

Dimitri

@nigela Where to subscribe ?
See attachment

screencapture-wpml-org-errata-wpforms-php-8x-issue-submitting-a-form-with-checkboxes-fields-2023-02-27-12_54_59.png
February 27, 2023 at 12:43 pm #13124467

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

Oh. It's missing from your screenshot.

I've raised an internal ticket for our systems team to look into that.

So, disregard that. I will leave this thread as escalated, and when I see that the issue is fixed I'll notify you here.

March 1, 2023 at 9:02 am #13142595

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

I'm pleased to say that we have released WPForms Multilingual 0.3.1 which should resolve this problem.

Please update and let me know, thanks.

March 1, 2023 at 9:13 am #13142741

Dimitri

OK, The update fixed the issue.
Thank you,
Dimitri

March 1, 2023 at 9:17 am #13142751

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

Great, thanks for the confirmation.

March 2, 2023 at 10:49 am #13153659

Dimitri

Hello,

I have a new FATAL ERROR with version 0.3.1.
I guess it happens when wpforms try to send emails notfications with shortcodes like {field_id="31"} in email fields.
Forms are correctly stored in entries database but notifications emails are not sent.

PHP Fatal error:  Uncaught TypeError: str_replace(): Argument #2 ($replace) must be of type string when argument #1 ($search) is a string in /var/www/visit/public/wp-content/plugins/wpforms/includes/emails/class-emails.php:639
Stack trace:
#0 /var/www/visit/public/wp-content/plugins/wpforms/includes/emails/class-emails.php(639): str_replace()
#1 /var/www/visit/public/wp-content/plugins/wpforms/includes/emails/class-emails.php(354): WPForms_WP_Emails->wpforms_html_field_value()
#2 /var/www/visit/public/wp-content/plugins/wpforms/includes/emails/class-emails.php(436): WPForms_WP_Emails->build_email()
#3 /var/www/visit/public/wp-content/plugins/wpforms/includes/class-process.php(988): WPForms_WP_Emails->send()
#4 /var/www/visit/public/wp-content/plugins/wpforms/includes/class-process.php(458): WPForms_Process->entry_email()
#5 /var/www/visit/public/wp-content/plugins/wpforms/includes/class-process.php(109): WPForms_Process->process()
#6 /var/www/visit/public/wp-includes/class-wp-hook.php(308): WPForms_Process->listen()
#7 /var/www/visit/public/wp-includes/class-wp-hook.php(332): WP_Hook->apply_filters()
#8 /var/www/visit/public/wp-includes/plugin.php(565): WP_Hook->do_action()
#9 /var/www/visit/public/wp-includes/class-wp.php(797): do_action_ref_array()
#10 /var/www/visit/public/wp-includes/functions.php(1332): WP->main()
#11 /var/www/visit/public/wp-blog-header.php(16): wp()
#12 /var/www/visit/public/index.php(17): require('...')
#13 {main}
  thrown in /var/www/visit/public/wp-content/plugins/wpforms/includes/emails/class-emails.php on line 639
March 2, 2023 at 11:08 am #13154001

Nigel
Supporter

Timezone: Europe/Madrid (GMT+01:00)

That error is from the WPForms plugin itself, and there isn't anything in the call stack that relates to WPML.

Does the error happen if you disable WPML (and follow whatever steps are needed to trigger the notification that generates the error)?

On the basis of the error message alone, it looks like something for WPForms to investigate.

March 2, 2023 at 11:20 am #13154113

Dimitri

No, With the WPFORM WPML plugin activated, I get the PHP FATAL Error. If I deactivate the plugin everything works perfectly.
Even if you not see any trace in the error log, the plugin cause the issue.