Antwort an „ liebewinter“ verfassen

Frühe habe eine Fehler gemacht... ich habe geprüft mit dem Ursus Code...

als ich nicht mehr finde der Code der wir zusammen gemacht habe, habe sammel Teils von dem Frühe Post ... habe immer bekomme Fehler , weil wird Methode die auf dieser Code gibt nicht…

Der Code,

<?php


class ClassProveContakt3 
{
      private $dbHost = 'localhost'; # Host der Datenbank
	  private $dbName = 'meine';      # Name der Datenbank
	  private $dbUser = 'root';      # Name phpmyadmin
	  private $dbPass = 'pass';      # Passwort

      
      private $Name;
      private $Email;
      private $Message;
      private $PostOK;
      private $DateTime;
      private $items;
      private $ip; 

 
    function __construct() 
    {

         $this -> ip = $_SERVER['REMOTE_ADDR'];
         $this -> DateTime = date('m/d/Y h:i:s a');  
         $this -> items = ['Name', 'Email', 'Message']; 
         
         
         $flag = true;
          foreach ( $this -> items as $key ) {  
			           if ( empty ( $_POST[$key] ) )  {
			             $flag = false;    
			           } else {    
			             $this -> $key = trim( filter_var( $_POST[$key], FILTER_SANITIZE_STRING ) ); 
			            }    
		   }	     
         $this -> PostOk = $flag; 
         
    }

 
    

  
    function ShowForm() 
    {
?>
      <form  method="POST">
        <label for="name"><b>Name * </b></label>
        <input type="text" id="name" name="Name" value="">
        <label for="email"><b>E-mail * </b></label>
        <input type="email" id="email" name="Email" value="">
        <br><br>
        <label><b> Message * </b><br>
           <textarea cols="45" rows="6" id="text" name="Message"></textarea>      
        </label>
        <br><br>
        <input  type="submit" name="post" value="POST COMMENT" id="comment">
      </form>
<?php
    }
    function PostOkT() 
    {
        if (isset($_POST['post']))
        {
            $this -> PostNewComment();
        }     
        else if (isset($_POST['delete']))
        {
            $this -> DeleteComment($_POST['delete']);
        }
    }

    function PostNewComment()
    {
        if (! $this -> PostOK)
        {
            echo "<br><b><h3>*** Please enter all required fields ***</h3></b>";  
        } 
        $this->writeCommentToDatabase(); 
        $this->displayMessages();        
    }

    function displayMessages()
    {
        $messages = $this->getMessages();
?>
   <form method="POST">        
<?php
        foreach ($messages as $message):
?>
     <article>
       <h2>Message from <?= htmlspecialchars($message['name']) ?> (<?= htmlspecialchars($message['email'])?>)</h2>
       <p>Created <?= $message['datetime'] ?></p>
       <p><?= $message['message'] ?></p>
       <button action="submit" name="delete" value="<?= $message['id'] ?>">Delete</button>
     </article>
<?php
        endforeach;                 
?>
   </form>
<?php
    }

    function DeleteComment($id)
    {
        echo "<br>Lösche jetzt Kommentar $id<br>";
        $this->displayMessages();
    }
     function writeCommentToDatabase()
     {
      // Establish connection with MYSQL Server
      try
      {
         $db = new PDO("mysql:host=localhost;dbname=meine", "root", "pass");
      }
      catch (PDOException $pe)
      {
         echo "<br>Cannot connect to database: " . $pe->getMessage();
         return false;
      }

      //Prepare Query of SQL
      $statement = $db->prepare("INSERT INTO mela(name, email, message, datetime, ip) VALUES (:name, :email, :message, :date, :ip)");
      if (!$statement)
      {
         echo "<br><br>prepare failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($db->errorInfo(), true) . "</p>";
         $ok = FALSE;
      }
      else
      {
         $ok = $statement->bindValue(':name', $this->Name, PDO::PARAM_STR)
            && $statement->bindValue(':email', $this->Email, PDO::PARAM_STR)
            && $statement->bindValue(':message', $this->Message, PDO::PARAM_STR)
            && $statement->bindValue(':date', date("Y-m-d H:i:s"), PDO::PARAM_STR)
            && $statement->bindValue(':ip', $this->ip, PDO::PARAM_STR);
         if (!$ok)
         {
            echo "<br><br>bindValue failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($db->errorInfo(), true) . "</p>";
         }
      }
      if ($ok)
      {
         $ok = $statement->execute();
         if (!$ok)
         {
            echo "<br><br>execute failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($db->errorInfo(), true) . "</p>";
         }


      }
      echo "<br/><br/><span>Data Inserted successfully...!!</span>";
       $this->db = null;
       return $ok;


    }    
    function getMessages()
    {
         $db = getConnection();
         if (!$db) return false;
         {
            $sql = "SELECT name, email, message, datetime FROM mela ORDER BY datetime DESC";
            $statement = $db->query($sql);
            if (!$statement)
            {
              $this->reportPDOError("Cannot create query", $sql, $db);
               return false;
            }
           $result = $statement->fetchAll(PDO::FETCH_ASSOC);

          if ($result === FALSE)
             $this->reportPDOError("fetchAll(ASSOC) failed", $sql, $statement);

          return $result;
       }
     }

      private function getConnection()
      {
          // Establish connection with MYSQL Server
          try
          {
             return new PDO("mysql:host=localhost;dbname=meine", "root", "pass");
          }
          catch (PDOException $pe)
          {
             echo "<br>Cannot connect to database: " . $pe->getMessage();
             return false;
          }
      }

      private function reportPDOError($message, $sql, $pdo)
      {
         $info = $pdo->errorInfo();

         echo "<div style='color:red'><b>Error in SQL Access: $message</b>";
         echo "<br>SQL-Statement: $sql";
         echo "<br>PDO SQLSTATE: $info[0]";
         echo "<br>MySQL error code: $info[1]";
         echo "<br>MySQL error message: $info[2]</div>";
      }
     
}
            
$Newobject = new ClassProveContakt3();
$Newobject -> ShowForm();
$Newobject ->  PostOkT();
$Newobject -> writeCommentToDatabase(); 
$Newobject -> getMessages();

    

?>

mit diesem Code bekomme dieser Warnung,

Fatal error: Uncaught Error: Call to undefined function getConnection() in /var/www/html/classprove.php:160 Stack trace: #0 /var/www/html/classprove.php(86): ClassProveContakt3->getMessages() #1 /var/www/html/classprove.php(81): ClassProveContakt3->displayMessages() #2 /var/www/html/classprove.php(66): ClassProveContakt3->PostNewComment() #3 /var/www/html/classprove.php(208): ClassProveContakt3->PostOkT() #4 /var/www/html/contact.php(85): require('/var/www/html/c...') #5 {main} thrown in /var/www/html/classprove.php on line 160

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

abbrechen