• A user received this error when trying to submit the form. What can cause this and how can it be fixed?

    Here is the full error message:

    Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /home/belgianb/public_html/wp-content/plugins/wpgform/wpgform-core.php:1749) in /home/belgianb/public_html/wp-content/themes/Divi/header.php on line 1

    https://wordpress.org/plugins/wpgform/

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Author Mike Walsh

    (@mpwalsh8)

    That is an odd error. It comes from a place in the code where an error message is being sent to the output.

    echo '<div id="message" class="wpgform-google-error"><p>' . $error_string . '</p></div>';

    Without knowing what exactly is in the error string, it is hard to know why you’re getting a headers already sent message. Is this repeatable?

    Thread Starter businesscloudinc

    (@businesscloudinc)

    I tested it out myself and did not get an error. Is there a way I can see the error string using FTP?

    Plugin Author Mike Walsh

    (@mpwalsh8)

    Do you have access to your web server’s error log? I know with a couple of my sites, the error log isn’t on by default but I can go to my hosting console and enable logging temporarily. I can then view or download the log through the hosting console.

    That is where I would start looking.

    Thread Starter businesscloudinc

    (@businesscloudinc)

    This is the error string that I found in the error log:

    [13-Mar-2015 21:07:59 UTC] PHP Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /home/belgianb/public_html/wp-content/plugins/wpgform/wpgform-core.php:1749) in /home/belgianb/public_html/wp-content/themes/Divi/header.php on line 1

    Thread Starter businesscloudinc

    (@businesscloudinc)

    And this is the header.php

    <?php if ( ! isset( $_SESSION ) ) session_start(); ?>

    <!DOCTYPE html>

    <!–[if IE 6]>

    <html id=”ie6″ <?php language_attributes(); ?>>

    <![endif]–>

    <!–[if IE 7]>

    <html id=”ie7″ <?php language_attributes(); ?>>

    <![endif]–>

    <!–[if IE 8]>

    <html id=”ie8″ <?php language_attributes(); ?>>

    <![endif]–>

    <!–[if !(IE 6) | !(IE 7) | !(IE 8) ]><!–>

    <html <?php language_attributes(); ?>>

    <!–<![endif]–>

    <head>

    <meta charset=”<?php bloginfo( ‘charset’ ); ?>” />

    <title><?php wp_title(); ?></title>

    <?php elegant_description(); ?>

    <?php elegant_keywords(); ?>

    <?php elegant_canonical(); ?>

    <?php do_action( ‘et_head_meta’ ); ?>

    <link rel=”pingback” href=”<?php bloginfo(‘pingback_url’); ?>” />

    <?php $template_directory_uri = get_template_directory_uri(); ?>

    <!–[if lt IE 9]>

    <script src=”<?php echo esc_url( $template_directory_uri . ‘/js/html5.js”‘ ); ?>” type=”text/javascript”></script>

    <![endif]–>

    <script type=”text/javascript”>

    document.documentElement.className = ‘js’;

    </script>

    <?php wp_head(); ?>

    </head>

    <body <?php body_class(); ?>>

    <div id=”page-container”>

    <?php

    if ( is_page_template( ‘page-template-blank.php’ ) ) {

    return;

    }

    $et_secondary_nav_items = et_divi_get_top_nav_items();

    $et_phone_number = $et_secondary_nav_items->phone_number;

    $et_email = $et_secondary_nav_items->email;

    $et_contact_info_defined = $et_secondary_nav_items->contact_info_defined;

    $show_header_social_icons = $et_secondary_nav_items->show_header_social_icons;

    $et_secondary_nav = $et_secondary_nav_items->secondary_nav;

    $primary_nav_class = ‘et_nav_text_color_’ . et_get_option( ‘primary_nav_text_color’, ‘dark’ );

    $secondary_nav_class = ‘et_nav_text_color_’ . et_get_option( ‘secondary_nav_text_color’, ‘light’ );

    $et_top_info_defined = $et_secondary_nav_items->top_info_defined;

    ?>

    <?php if ( $et_top_info_defined ) : ?>

    <div id=”top-header” class=”<?php echo esc_attr( $secondary_nav_class ); ?>”>

    <div class=”container clearfix”>

    <?php if ( $et_contact_info_defined ) : ?>

    <div id=”et-info”>

    <?php if ( ” !== ( $et_phone_number = et_get_option( ‘phone_number’ ) ) ) : ?>

    <span id=”et-info-phone”><?php echo esc_html( $et_phone_number ); ?></span>

    <?php endif; ?>

    <?php if ( ” !== ( $et_email = et_get_option( ‘header_email’ ) ) ) : ?>

    “><span id=”et-info-email”><?php echo esc_html( $et_email ); ?></span>

    <?php endif; ?>

    <?php

    if ( true === $show_header_social_icons ) {

    get_template_part( ‘includes/social_icons’, ‘header’ );

    } ?>

    </div> <!– #et-info –>

    <?php endif; // true === $et_contact_info_defined ?>

    <div id=”et-secondary-menu”>

    <?php

    if ( ! $et_contact_info_defined && true === $show_header_social_icons ) {

    get_template_part( ‘includes/social_icons’, ‘header’ );

    } else if ( $et_contact_info_defined && true === $show_header_social_icons ) {

    ob_start();

    get_template_part( ‘includes/social_icons’, ‘header’ );

    $duplicate_social_icons = ob_get_contents();

    ob_end_clean();

    printf(

    ‘<div class=”et_duplicate_social_icons”>

    %1$s

    </div>’,

    $duplicate_social_icons

    );

    }

    if ( ” !== $et_secondary_nav ) {

    echo $et_secondary_nav;

    }

    et_show_cart_total();

    ?>

    </div> <!– #et-secondary-menu –>

    </div> <!– .container –>

    </div> <!– #top-header –>

    <?php endif; // true ==== $et_top_info_defined ?>

    <header id=”main-header” class=”<?php echo esc_attr( $primary_nav_class ); ?>”>

    <div class=”container clearfix”>

    <?php

    $logo = ( $user_logo = et_get_option( ‘divi_logo’ ) ) && ” != $user_logo

    ? $user_logo

    : $template_directory_uri . ‘/images/logo.png’;

    ?>

    “>

    <img src=”<?php echo esc_attr( $logo ); ?>” alt=”<?php echo esc_attr( get_bloginfo( ‘name’ ) ); ?>” id=”logo” />

    <div id=”et-top-navigation”>

    <nav id=”top-menu-nav”>

    <?php

    $menuClass = ‘nav’;

    if ( ‘on’ == et_get_option( ‘divi_disable_toptier’ ) ) $menuClass .= ‘ et_disable_top_tier’;

    $primaryNav = ”;

    $primaryNav = wp_nav_menu( array( ‘theme_location’ => ‘primary-menu’, ‘container’ => ”, ‘fallback_cb’ => ”, ‘menu_class’ => $menuClass, ‘menu_id’ => ‘top-menu’, ‘echo’ => false ) );

    if ( ” == $primaryNav ) :

    ?>

    <ul id=”top-menu” class=”<?php echo esc_attr( $menuClass ); ?>”>

    <?php if ( ‘on’ == et_get_option( ‘divi_home_link’ ) ) { ?>

    <li <?php if ( is_home() ) echo( ‘class=”current_page_item”‘ ); ?>>“><?php esc_html_e( ‘Home’, ‘Divi’ ); ?>

    <?php }; ?>

    <?php show_page_menu( $menuClass, false, false ); ?>

    <?php show_categories_menu( $menuClass, false ); ?>

    <?php

    else :

    echo( $primaryNav );

    endif;

    ?>

    </nav>

    <?php

    if ( ! $et_top_info_defined ) {

    et_show_cart_total( array(

    ‘no_text’ => true,

    ) );

    }

    ?>

    <?php if ( false !== et_get_option( ‘show_search_icon’, true ) ) : ?>

    <div id=”et_top_search”>

    <span id=”et_search_icon”></span>

    <form role=”search” method=”get” class=”et-search-form et-hidden” action=”<?php echo esc_url( home_url( ‘/’ ) ); ?>”>

    <?php

    printf( ‘<input type=”search” class=”et-search-field” placeholder=”%1$s” value=”%2$s” name=”s” title=”%3$s” />’,

    esc_attr__( ‘Search …’, ‘Divi’ ),

    get_search_query(),

    esc_attr__( ‘Search for:’, ‘Divi’ )

    );

    ?>

    </form>

    </div>

    <?php endif; // true === et_get_option( ‘show_search_icon’, false ) ?>

    <?php do_action( ‘et_header_top’ ); ?>

    </div> <!– #et-top-navigation –>

    </div> <!– .container –>

    </header> <!– #main-header –>

    <div id=”et-main-area”>

    Plugin Author Mike Walsh

    (@mpwalsh8)

    I’d be purely guessing based on the information here. There is something which is causing the headers to be generated twice. I need to actually see the form on your web site in order to make a better educated guess. Can you fill out my Help and Support Form?

    Thread Starter businesscloudinc

    (@businesscloudinc)

    I just submitted the form.

    Thank you in advance.

    Thread Starter businesscloudinc

    (@businesscloudinc)

    Any luck at figuring this out?

    Plugin Author Mike Walsh

    (@mpwalsh8)

    No, check your email for what I did but I didn’t find anything odd.

Viewing 9 replies - 1 through 9 (of 9 total)

The topic ‘Warning: session_start(): Cannot send session cache limiter’ is closed to new replies.