2016-05-16 30 views
-1

Ich habe meine $dbConnection Variablen ganz oben auf der Seite festgelegt. Und ich habe ein Kontaktformular auf der gleichen Seite. Das Kontaktformular funktioniert gut.Nicht definierte Variable, die tatsächlich definiert ist

Allerdings gibt es mir beim Einreichen einen undefinierten Fehler; Das ist komisch, weil ich mir sicher bin, dass ich die Variable richtig gesetzt habe.

Das Formular wird durch ein Skript ausgeführt.

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

und meine Vermutung ist, dass dieses Skript verhindert, dass die Verbindung herstellen. Ist das möglich?

Ich habe definiert $dbConnection als eine globale, fügte diese `` zum SQL, etc etc nichts funktionierte. Der Fehler verschwindet, während die $dbConnection als global definiert ist, aber die Daten nicht in der Datenbank ablegt.

+0

Wo ist '$ dbConnection' als globaler definiert; und wo ist deine 'ubbreplace()' Funktion, die PHP mitteilt, dass es auf die globale '$ dbConnection' zugreifen soll? –

+0

@MarkBaker Ich hatte diese früher entfernt, weil ich nicht dachte, dass es funktionieren würde. –

+0

Wenn Sie in Ihrer Funktion nicht 'global $ dbconnection' haben, dann erkennt PHP es nicht als in der Funktion vorhanden, weil es nicht innerhalb des Funktionsumfangs existiert –

Antwort

0

Added global $dbConnection;innerhalb desob_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; 
} 
?> 
0

Versuchen Sie, global Ihre $dbConnection in Ihrer Funktion

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