Hey,
ich möchte ein normales Datum sowie eine normale Uhrzeit als DateTime-Objekt haben.
Habe daher das Datum mit der Uhrzeit konkatentiert und der DateTime-Klasse als Parameter mitgegeben.
Alles gut soweit.
Aber passt jetzt auf:
Wenn ich alles jetzt teste bekomme ich folgende Fehler, weil $datum->date anscheinend keinen Wert hat :
1. Notice: Undefined property: DateTime::$date in C:\xampp\htdocs\php\projekt\panel\admin\php\diary.php on line 123
2. Ein Fehler ist aufgetreten: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'datum' cannot be null
Nun habe ich var_dump() auf $datum angewendet. Dort kommt dies raus: object(DateTime)#2 (3) { ["date"]=> string(26) "2018-04-18 12:00:00.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" }
Wenn ich es jetzt mit den gleichen Werten teste funktioniert alles ohne Probleme. Kaum entferne ich das var_dump() kommt wieder der Fehler.
Ich bin grad wirklich ratlos.
Der Codeteil:
if(isset($_POST['submitted'])){
$termingrund = isset($_POST['termingrund']) ? $_POST['termingrund'] : null;
$terminbeschreibung = isset($_POST['terminbeschreibung']) ? $_POST['terminbeschreibung'] : null;
$datum = isset($_POST['datum']) ? $_POST['datum'] : null;
$uhrzeit = isset($_POST['uhrzeit']) ? $_POST['uhrzeit'] : null;
$date = $datum . " " . $uhrzeit;
$dateNow = date("d.m.Y H:i");
if(empty($termingrund) || empty($terminbeschreibung) || empty($datum) || empty($uhrzeit)){
$fehler = "<p class='fehler'>Bitte füllen Sie alle Felder aus!</p>";
} else if(strtotime($date) < strtotime($dateNow)){
$fehler = "<p class='fehler'>Das Datum und die Uhrzeit müssen in der Zukunft liegen!</p>";
} else if(!checkValidTime($uhrzeit)){
$fehler = "<p class='fehler'>Bitte geben Sie eine gültige Uhrzeit an!</p>";
}
if(!isset($fehler)){
$datum = new DateTime($date);
var_dump($datum);
try{
$insertTermin = $dbv->prepare("INSERT INTO termine(grund, beschreibung, datum) VALUES (:grund, :beschreibung, :datum)");
$insertTermin->execute(
array(
":grund" => $termingrund,
":beschreibung" => $terminbeschreibung,
":datum" => $datum->date
)
);
}catch(EXCEPTION $w){
echo "Ein Fehler ist aufgetreten: " . $w->getMessage();
exit();
}
}
}
Alles anzeigen
Grüße,
Stef