Я пытаюсь получить дату из формы ввода даты, и я просто не могу заставить ее работать правильно. Код, который я сейчас использую, возвращает ошибку и эту дату: 1970-01-01. Это неверно, и я хотел бы знать, как я могу это сделать. Это будет использоваться позже для запроса таблицы базы данных. Я хочу, чтобы дата была в основном просто строкой с этим форматом: «yyyy-mm-dd»
Код:
HTML
<form name="DateFilter" method="POST"> From: <input type="date" name="dateFrom" value="<?php echo date('Ym-d'); ?>" /> <br/> To: <input type="date" name="dateTo" value="<?php echo date('Ym-d'); ?>" /> </form>
PHP
$new_date = date('Ym-d', strtotime($_POST['dateFrom'])); echo $new_date;
Заранее спасибо,
~ Realitiez
~~~ EDIT ~~~
Исправлено решение для всех, кто задавался вопросом, как это делается:
HTML
<form name="Filter" method="POST"> From: <input type="date" name="dateFrom" value="<?php echo date('Ym-d'); ?>" /> <br/> To: <input type="date" name="dateTo" value="<?php echo date('Ym-d'); ?>" /> <input type="submit" name="submit" value="Login"/> </form>
Для того,<form name="Filter" method="POST"> From: <input type="date" name="dateFrom" value="<?php echo date('Ym-d'); ?>" /> <br/> To: <input type="date" name="dateTo" value="<?php echo date('Ym-d'); ?>" /> <input type="submit" name="submit" value="Login"/> </form>
PHP
$new_date = date('Ym-d', strtotime($_POST['dateFrom'])); echo $new_date;
Особая благодарность за каждый ответ.
Подтвердите ввод.
$time = strtotime($_POST['dateFrom']); if ($time != false){ $new_date = date('Ym-d', $time)); echo $new_date; } else{ echo 'Invalid Date: ' . $_POST['dateFrom']; // fix it. }