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