Undefined variable, which is actually defined

倖福魔咒の 提交于 2019-12-25 18:41:41

问题


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.


回答1:


Try to make global your $dbConnection inside your function

function ubbreplace($text){
    global $dbConnection;
    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;
}



回答2:


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


来源:https://stackoverflow.com/questions/37263723/undefined-variable-which-is-actually-defined

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!