问题
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