Html form - php - mysql поле даты? - PullRequest
0 голосов
/ 14 августа 2011

Предположим, что я добавляю дату / время в базу данных mysql и получаю следующий (маленький на один раз) кусок кода.

<input type="text" name="date">Leave time null for current<br />
<input type="Submit" name="submit" value="submit">

Ниже приводится форма, которая ловит, что

$radate=$_POST['date'];
if ($radate=="")
$radate = date('Y-m-d H:i:s');
else {}

Я попытался ввести "2011-08-14 19:15:25", и он вернул все 0, может кто-нибудь помочь мне с этим? Спасибо за тонну!

1 Ответ

1 голос
/ 14 августа 2011

Возможно, было бы лучше использовать strtotime() для проверки отправленной даты / времени, особенно если это поле ввода даты произвольной формы. В противном случае кто-то может пропустить ввод даты / времени и неожиданно использовать вместо нее текущую дату / время.

$radate_valid = false;
$radate = $_POST['date'];
if (!$radate)
    $radate = date('Y-m-d H:i:s');
if (strtotime($radate) === false)
    $radate_valid = false;
else
    $radate_valid = true;

// Somewhere else
if ($radate_valid !== true) 
    /* Do something to warn the user. */

http://codepad.org/x2eZay0Q

Если вы использовали выпадающие списки, а время не имело значения, вы также можете использовать checkdate(), хотя из вашего примера похоже, что вам действительно нужно время.

Однако то, что вы опубликовали, должно работать. Вот пример использования вашей даты:

http://codepad.org/BK1yqyMT

(А вот без фиксации блока if: http://codepad.org/p3CfmOJK)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...