Search code examples
phpundefineddefined

Undefined variable, which is actually defined


I have my $dbConnection variable set at the very top of the page. And I have a contact form included on the same page. The contact form works fine.

However, when submitting, it gives me an undefined error; that's weird because I'm 199% sure I have the variable set correctly.

The form is going through a script.

function ubbreplace($text){
    if (strpos($text, "[contact-form]") !== false) {
       ob_start();
       include("contactform.php");
       $replace = ob_get_contents();
       ob_end_clean();
       $text = str_replace("[contact-form]", $replace, $text);
    }
    return $text;
}

and my guess is that this script prevents the connection from connecting. Is that possible?

I have defined $dbConnection as a global, added these `` to the SQL, etc etc nothing worked. The error goes away while the $dbConnection is defined as a global but does not put the data in the database.


Solution

  • Added global $dbConnection; inside the ob_start()

    <?php
    function ubbreplace($text){
        if (strpos($text, "[contact-form]") !== false) {
            ob_start();
            global $dbConnection; // <-- added
            include("contactform.php");
            $replace = ob_get_contents();
            ob_end_clean();
            $text = str_replace("[contact-form]", $replace, $text);
        }
        return $text;
    }
    ?>