in Kurzform: du musst die SQL Funktion auch aufrufen.
und wie wird sie gerufen ?
wie habe jetzt meine Code,
<?php
class ClassProveContakt3
{
private $Name;
private $Email;
private $Message;
private $PostOK;
private $DateTime;
private $items;
private $ips;
function __construct()
{
$this -> ips = $_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 (! $this -> PostOK)
{
echo "<br><b><h3>*** Please enter all required fields ***</h3></b>";
}
else
{
$data = array("name" => $this->Name, "email" => $this->Email, "message" => $this->Message, "datetime" => $datetime);
$file = $this->writeCommentToDatabase();
$data = json_encode($data);
file_put_contents($file, $data . "\n", FILE_APPEND|LOCK_EX);
$messages = file($file);
foreach ($messages as $value) {
$data = json_decode($value, true);
echo "<br>"
. "<b>From: </b>" . htmlspecialchars( $this->Name )
. "<b> at: </b>" . htmlspecialchars( $this>DateTime )
. "<br><br>" . htmlspecialchars( $this->Message )
. "<br><hr>";
}
}
function writeCommentToDatabase()
{
// Establish connection with MYSQL Server
try
{
$db = new PDO("mysql:dbname=meine;host=localhost", "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, ips) VALUES (:name, :email, :message, :date, :ips)");
if (!$statement)
{
echo "<br><br>prepare failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($dbh->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(':ips', $this->ips, PDO::PARAM_STR);
if (!$ok)
{
echo "<br><br>bindValue failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($dbh->errorInfo(), true) . "</p>";
}
}
if ($ok)
{
$ok = $statement->execute();
if (!$ok)
{
echo "<br><br>execute failed: SQLSTATE=" . $db->errorCode() . ", Error Info=" . print_r($dbh->errorInfo(), true) . "</p>";
}
}
echo "<br/><br/><span>Data Inserted successfully...!!</span>";
$db->close();
return $ok;
}
}
$Newobject = new ClassProveContakt3();
$Newobject -> ShowForm();
$Newobject -> PostOkT();
$Newobject -> writeCommentToDatabase();