Доброго времени суток. Столкнулся с очень интересной проблемой. Я пришу админку для проекта, там нужно указывать дату, это я делаю через jQuery Ui.datetimepicker. В результате, я получаю в поле "28.11.2012 20:52 ". потом мне это все нужно записать в базу, что я делаю Код (Text): //Не указали дату. Сами выноваты if($_POST['date'] == ''){ $time_create = time(); } else { $datatime = explode(" ", $_POST['date']); $date = explode(".", $datatime[0]); $time = explode(":", $datatime[1]); $time_create = mktime($time[0], $time[1], '00', $date[0], $date[1], $date[2]); } и данный скрипт мне постоянно генерит дату 11-04-2014 20:52:00 в не зависимости от того что прийдет на вход. Создал отдельный файл без инклюдов и т. д. Там работает нормально. В чем может быть утка?
if($_POST['date'] == ''){ 1. откуда такая уверенность в том, что вообще будет существовать $_POST['date']? 2. $date[0], $date[1], $date[2]); Откуда такая уверенность в том, что строка даты тебе будет передана именно в этом формате? В строке может не быть точки, а ты уже используешь элемент массива, которого может не быть $date[2]. 3. В студию то, что находится в $_POST['date'] на момент вызова
Код (Text): if($_POST['date'] == '') { $time_create = time(); } else { logger::info($_POST['date']); $datatime = explode(" ", $_POST['date']); $date = explode(".", $datatime[0]); $time = explode(":", $datatime[1]); logger::dump($date,'pars date'); logger::dump($time,'pars time'); $time_create = mktime($time[0], $time[1], 00, $date[0], $date[1], $date[2]); logger::dump(date('d-m-Y G:i:s',$time_create)); } Выводит Info:28.11.2012 21:33 Dump: array('pars date'=>array('0'=>'28', '1'=>'11', '2'=>'2012' )) Dump: array('pars time'=>array('0'=>'21', '1'=>'33')) Dump: array('undefined'=>'11-04-2014 21:33:00')
Вот черт. Не навижу эту систему, когда сначала месяц потом день. Спасибо! var_dump() конечно супер но я пользуюсь FirePHP :: Дополнения Firefox
а ты пользуйся тем, что разработчики придумали, он тебе в "дебаге" кажет то что ты ему скажешь, а не то что есть на самом деле....