【发布时间】:2023-03-21 04:17:01
【问题描述】:
嘿,我的注册表有一些问题
if(isset($_GET['register'])) {
$error = false;
$email = $_POST['email'];
$nachname = $_POST['nachname'];
$vorname = $_POST['vorname'];
$geburtsdatum =new DateTime( $_POST['geburtsdatum']);
$strasse = $_POST['strasse'];
$hausnummer = $_POST['hausnummer'];
$plz = $_POST['plz'];
$ort = $_POST['ort'];
$telefon = $_POST['telefon'];
$passwort = $_POST['passwort'];
$passwort2 = $_POST['passwort2'];
警告:第 17 行 C:\xampp\htdocs\project\register.php 中未定义的数组键“geburtsdatum”
之后我做了一些错误问题...
然后我想将它插入我的数据库中
if(!$error) {
$passwort_hash = password_hash($passwort, PASSWORD_DEFAULT);
$statement = $pdo->prepare("INSERT INTO kunde (KEMAIL,NACHNAME,VORNAME,GEBURTSDATUM,STRASSE,HAUSNR,PLZ,ORT,TELEFON,PASSWORT)
VALUES (:kemail,:nachname,:vorname,:geburtsdatum,:strasse,:hausnummer,:plz,:ort,telefon,:passwort)");
$result = $statement->execute(array('KEMAIL' => $email,'NACHNAME' => $nachname,'VORNAME' => $vorname, 'GEBURTSDATUM' => $geburtsdatum,'STRASSE' => $strasse,'HAUSNR' => $hausnummer,'PLZ' => $plz,'ORT' => $ort,'TELEFON' => $telefon, 'passwort' => $passwort_hash));
if($result) {
echo 'Du wurdest erfolgreich registriert. <a href="login.php">Zum Login</a>';
$showFormular = false;
} else {
echo 'Beim Abspeichern ist leider ein Fehler aufgetreten<br>';
}
}
}
致命错误:未捕获的错误:无法将 DateTime 类的对象转换为 C:\xampp\htdocs\project\register.php 中的字符串:60 堆栈跟踪:#0 C:\xampp\htdocs\project\register。 php(60): PDOStatement->execute(Array) #1 {main} 在第 60 行的 C:\xampp\htdocs\project\register.php 中抛出
问题出在这一行
$result = $statement->execute(array('KEMAIL' => $email,'NACHNAME' => $nachname,'VORNAME' => $vorname, 'GEBURTSDATUM' => $geburtsdatum,'STRASSE' => $strasse,'HAUSNR' => $hausnummer,'PLZ' => $plz,'ORT' => $ort,'TELEFON' => $telefon, 'passwort' => $passwort_hash));
请帮助也许有时间串的东西坏了,但我已经有时间在我的数据库中作为日期类型
【问题讨论】:
-
geburtsdatum的表单输入是什么?或整个表格。 -
1.您在某处错误地命名了字段
geburtsdatum,可能在表单源中。 2. 格式化日期。 php.net/manual/en/datetime.format.php 3. 如果您在 #2 之前不修复 #1,那么日期将是“错误的”。