未定义的变量,实际上是定义的

Undefined variable, which is actually defined

我在页面的最顶部设置了 $dbConnection 变量。我在同一页上有一个联系表。联系表格工作正常。

但是提交的时候报了undefined error;这很奇怪,因为我 199% 确定变量设置正确。

表单正在通过脚本。

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

我猜是这个脚本阻止了连接。这可能吗?

我已将 $dbConnection 定义为全局变量,将这些 `` 添加到 SQL,等等,但没有任何效果。当 $dbConnection 被定义为全局但未将数据放入数据库时​​错误消失。

尝试在你的函数中使你的$dbConnection全局化

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

添加global $dbConnection;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;
}
?>