function mycheckdate($datestr, $optional = 0, $fmin = '01.01.1902', $fmax = '31.12.2037') { $datestr = trim($datestr); if ($optional == 1 and $datestr == '') { return ''; } if ($optional == 0 and $datestr == '') { return 'ѕоле даты не может быть пустым'; } if (!preg_match('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', $datestr, $matches)) { return '‘ормат даты DD.MM.YYYY'; } if (!checkdate($matches[2], $matches[1], $matches[3])) { return 'Ќеверна¤ дата'; } $data = DMSQL($datestr); $dmin = DMSQL($fmin); $dmax = DMSQL($fmax); if ($dmin > $data or $data > $dmax) { return 'ƒата выходит за диапазон ' . $fmin . ' - ' . $fmax; } return ''; }
require_once 'cfg.php'; if (isset($_POST[buttOK])) { $date1 = $_POST[date1]; $date2 = $_POST[date2]; $smarty->assign('date1', $date1); $smarty->assign('date2', $date2); $smarty->assign('lhead', 'Дни рожления'); $smarty->assign('laction', 'report4.php'); $err = array(); $errdate = mycheckdate($date1, 0, '01.01.1915', '31.12.2010'); if ($errdate != '') { $err[date1] = $errdate; } $errdate = mycheckdate($date2, 0, '01.01.1915', '31.12.2010'); if ($errdate != '') { $err[date2] = $errdate; } if (sizeof($err) == 0) { $params = array(DMSQL($date1), DMSQL($date2)); $query1 = "select s.*, f.name faculty_name, g.name group_name\n from student s\n join faculty f on f.id = s.faculty_id\n join `group` g on g.id = s.group_id\n where s.birthdate between ? and ? \n order by s.birthdate"; $rs = $dbcnx->Execute($query1, $params); $db = $rs->GetArray(); $smarty->assign('db', $db); $smarty->display('report4.tpl'); exit; } } else { // 1-й показ формы } $smarty->assign('err', $err); $smarty->display('daterange.tpl');