Support » Plugin: Contact Form 7 Multi-Step Forms » second step not shown

  • Marion

    (@marionmaria)


    I have been working with the multistep form of contact7 since years an everything worked out fine.

    With the newest plugin my old forms work correctly – only the button for the previous form does not work.

    For testing purposes I implemented a very simple multistep form by using the new tags correctly.
    Here is the coding:
    [text 1="your-name" language="*"]Ihr Name[/text*]
    [email* your-email]Ihre Email-Adresse[/email*]
    [submit "Senden"]
    [multistep multi-Step1 first_step "https://hypnose-kongress-berlin.de/testseite-formular-2-von-3/"%5D
    ___
    [text your-subject]Betreff[/text]
    [previous “Zurück”][submit “Senden”]
    [multistep multi-Step2 “https://hypnose-kongress-berlin.de/testseite-formular-3-von-3/”%5D
    ____
    [textarea your-message]Ihre Nachricht[/textarea]
    [previous “Zurück”][submit “Senden”]
    [multistep multi-Step3 last_step send_email]

    After sending the first part it even does not go to the second step. Instead the Success Message is shown.

    Besides WordPress sent me an email, that the plugin Contact Form 7 Multi-Step Forms contains the following error in line 107:

    Uncaught Error: [] operator not supported for strings in /kunden/409393_70173/webseiten/KONGRESS_NEU/wordpress/wp-content/plugins/contact-form-7-multi-step-module/contact-form-7-multi-step-module.php:107
    Stack trace:
    #0 /kunden/409393_70173/webseiten/KONGRESS_NEU/wordpress/wp-includes/class-wp-hook.php(290): cf7msm_plugin_action_links(‘

    Due to this error a lot of plugins are no longer displayed on the WordPress Dashboard.
    I really do not know what to do.
    Anybody who can help me?

    The page I need help with: [log in to see the link]

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author webheadcoder

    (@webheadllc)

    Hi,

    The form doesn’t advance to the next step because of javascript errors. It looks like you have a javascript error on your page from the fancybox script.
    Uncaught TypeError: a.browser is undefined
    jquery.fancybox-1.3.4.min.js:1:205

    The WordPress error you pasted indicates that a string was passed (instead of an array) to the cf7msm_plugin_action_links() function by another plugin or your theme.

    Are you able to deactivate all your other plugins except Contact Form 7 and this plugin and use the default wordpress theme? If you don’t get the error anymore you can reactivate your other plugins and see if the error reoccurs.

    Thread Starter Marion

    (@marionmaria)

    Hi and thanks for your answer.

    It took a little while so far because I needed external support to find the solution for the WordPress Error that caused the problem that I did no longer see all plugins on the Dashboard.

    Now it is fixed – at least until the next plugin version of the Plugin “Contact Form 7 Multi-Step Forms”.
    The error in line 107 occurs because a variable is not declared before using. This is no longer tolerated by newer PHP versions. Anyway using variables without declaration is no proper programming.
    So I ask myself why this problem is not fixed in the plugin “Contact Form 7 Multi-Step Forms” by inserting the declaration of the variable? I guess that a lot of users get this error message.

    Anyway – after this I could take the steps you suggested – deactivate all other PLugins and activate the standard theme.
    I then testet the form and got the same problem – step1 send an e-Mail and does not go further to step2.

    So again I ask you to help me.

    Kind regards
    Marion

    Plugin Author webheadcoder

    (@webheadllc)

    Hi,

    Glad you got your site working again.

    Just to be sure we’re talking about the same code, is this the function that’s causing the problem on your install?

    
            function cf7msm_plugin_action_links( $links )
            {
                if ( cf7msm_fs()->is_not_paying() ) {
                    $links[] = '<a href="' . CF7MSM_LEARN_MORE_URL . '" target="_blank">' . __( 'Learn about PRO' ) . '</a>';
                }
                return $links;
            }
            add_filter( "plugin_action_links_" . plugin_basename( CF7MSM_PLUGIN ), 'cf7msm_plugin_action_links' );
    

    and line 107 would be:
    $links[] = '<a href="' . CF7MSM_LEARN_MORE_URL . '" target="_blank">' . __( 'Learn about PRO' ) . '</a>';

    The error on line 107 can’t be an undeclared variable error because the variable that’s being used on line 107 is a parameter, which means it’s declared and passed in from another area of code. Also your error says that the variable is a string (“[] operator not supported for strings”) so another plugin is passing a string when it should be passing an array.

    The first parameter, $links, can be expected to be an array as described in the wordpress documentation:

    (string[]) An array of plugin action links. By default this can include ‘activate’, ‘deactivate’, and ‘delete’. With Multisite active this can also include ‘network_active’ and ‘network_only’ items.

    That being said, I’ll add a check for the $links parameter in the next release so other plugins can’t cause errors in my plugin. For now you can ask your developer to remove that block of code from the contact-form-7-multi-step-module.php file and this issue shouldn’t occur anymore.

    As for the form not being directed to the next step, it looks like you have a javascript error:
    Uncaught TypeError: a.browser is undefined
    jquery.fancybox-1.3.4.min.js:1:205

    That javascript error looks like it’s originating from your theme. Please contact your theme developer and ask them to look into that error.

    Thread Starter Marion

    (@marionmaria)

    Hi,

    thank you very much – we now got rid of the javascript error by actualizing the theme.

    Unfortunately this did not have any effect on the multistep form which still does not work. After Step 1 it does not continue with step 2. Instead it shows the final message, that should only be sent by the last step.

    Here is the code of the 3 forms:

    <p> Ihr Name <br> [text* your-name] </p>
    <p> Ihre Email-Adresse <br> [email* your-email] </p>
    [submit “Senden”]
    [multistep multi-Step1 first_step “https://hypnose-kongress-berlin.de/testseite-formular-2-von-3/”%5D

    <p> Betreff [text* your-subject] </p>
    [previous “Zurück”][submit “Senden”]
    [multistep multi-Step2 “https://hypnose-kongress-berlin.de/testseite-formular-3-von-3/”%5D

    <p> Ihre Nachricht [textarea* your-message] </p>
    [previous “Zurück”][submit “Senden”]
    [multistep multi-Step3 last_step send_email]

    I have no idea what to do now!
    Any idea why the form for the first step is not recognized as multistep form?
    I would really appreciate your help.

    Best regards
    Marion

    Plugin Author webheadcoder

    (@webheadllc)

    This is a similar issue to what another user is experiencing this week. Your page should be loading cf7msm.min.js, but it’s not. That’s most likely because you have javascript disabled for Contact Form 7. If javascript is disabled, the cf7 javascript file won’t load and therefore this plugin’s javascript file won’t load.

    Take a look at this support page for more info:
    https://contactform7.com/why-isnt-my-ajax-contact-form-working-correctly/

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘second step not shown’ is closed to new replies.