从表单中提取的日期时间值(php)

时间:2014-08-15 12:37:35

标签: php datetime

我的表格("列表")包含一个字段(" exam_date")类型:" datetime"。 我希望用户通过Form插入datetime类型的值,以便我可以将其插入到该表中。 我想在输入字段中显示默认值:present date&时间。 我的代码是这样的:

<!doctype html>
<html lang=en>
<head>
<title>Show Date</title>
<meta charset=utf-8>
</head>
<body>
<?php
$dbcon = @mysqli_connect ('xxx', 'xxx', 'xxx', 'xxx') 
OR die ('Could not connect to MySQL: ' . mysqli_connect_error () ); 
mysqli_set_charset($dbcon, 'utf8');
if (isset($_POST['exam_date']))
{
$myDate = trim($_POST['exam_date']);
$q = "INSERT INTO list (exam_date) VALUES ($myDate)"; 
$result = @mysqli_query ($dbcon, $q);   
?>
<form action="to_forum.php" method="post">
<input id="exam_date" name="exam_date" type="datetime" 
 value="<?php echo date(); ?>">
<input id="submit" type="submit" name="submit" value="Send">
</form>
</body>
</html>

我插入&#34; 14-2-2014&#34;。添加了记录但具有空白日期值。输入字段没有显示任何默认值! 任何人都可以请建议如何使上面的代码显示默认的日期和时间值,并将其正确添加到表中? 谢谢!

2 个答案:

答案 0 :(得分:0)

看起来这里有几个问题。

  • 您没有关闭if条件。
  • 在插入数据库之前,不要格式化日期。

if (isset($_POST['exam_date']))
{
    $myDate = trim($_POST['exam_date']);
    $newDate = new DateTime($myDate); //create new datetime object//
    $myDate = $newDate->format('Y-m-d H:i:s');
    $q = "INSERT INTO list (exam_date) VALUES ($myDate)"; 
    $result = @mysqli_query ($dbcon, $q);
} //missing//

答案 1 :(得分:0)

将您INSERT语句更改为

 $q = "INSERT INTO list (exam_date) VALUES (STR_TO_DATE($myDate,'%d-%m-%Y'))";