Hallo Joseba,
deine dateTime
Spalte ist ein Date, darin kann man keine Uhrzeit speichern. Wenn Du eine Uhrzeit speichern möchtest, musst Du das ändern. Klicke in Zeile 4 auf "Bearbeiten" und wähle dann in der Spalte "Typ" den Wert "DateTime" aus. Dann drückst Du auf "Speichern", fertig.
KANN nichts passieren
das ist , keine ergebnisse zu bekomme , wie auf meine Fall ist ?
Ja. Wenn die Funktion so aussieht:
function PostOkT() {
if ($this -> PostOK)
{
return;
}
if (empty($this->Name) || empty($this->Email) || empty($this->Message))
{
echo "<br><b><h3>*** Please enter all required fields ***</h3></b>";
}
else
{
echo "SPEICHERN IN DATENBANK";
}
dann wird "SPEICHERN IN DATENBANK" nie erreicht. Es gibt ja einen Zusammenhang zwischen PostOK und empty($this->Name) || empty($this->Email) || empty($this->Message)
. Der Konstruktor setzt PostOK auf TRUE, wenn alle 3 Werte vorhanden sind. Wenn also alle Eingaben da sind, ist PostOK == TRUE und die Funktion wird verlassen. Wenn eine Eingabe fehlt, liefern die empty()-Abfragen TRUE und die Funktion wird verlassen. Die Ausgabe "SPEICHERN IN DATENBANK" wird nie erreicht.
Deswegen musst Du das so machen, wie ich das hier gezeigt habe. Und das ist ja jetzt auch so. Gut.
Danach hast Du dies hier programmiert:
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>";
}
Die Methode writeCommentToDatabase gibt einen booleschen Wert zurück, TRUE oder FALSE. Diesen verwendest Du dann in file_put_contents als Dateiname. Das kann nicht funktionieren, TRUE oder FALSE kann man nicht als Dateiname verwenden.
Warum schreibst Du die Nachricht in eine Datei? Du hast jetzt die Datenbank, die Datei brauchst Du nicht mehr. Wenn Du alle Nachrichten ausgeben willst, musst Du sie aus der Datenbank lesen. Das ist jetzt deine nächste Aufgabe: Lesen der mela Tabelle und Ausgeben der gespeicherten Kommentare als HTML.
Möchtest Du bei PDO bleiben? Ich kann Dir ein Beispiel machen, wie Du die mela-Tabelle lesen kannst. Oder möchtest Du erstmal selbst versuchen?
Rolf
sumpsi - posui - clusi