J. Doe J. Doe - 6 months ago 11
PHP Question

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.

Answer

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;
}
?>