isset()
возвращает логическое значение, если переменная была установлена, а не значение самой переменной.Вам нужно что-то вроде:
$user_date = isset($_POST['input_date']) ? mysql_real_escape_string($_POST['input_date']) : '';
Выше приведена троичная операция.Если входное значение было установлено, оно экранируется и сохраняется в $user_date
.В противном случае возвращается пустая строка.Вам нужно будет решить, какое действие предпринять, когда оно не установлено, часть после :
.Например, вместо этого вы можете вернуть дату по умолчанию:
$user_date = isset($_POST['input_date']) ? mysql_real_escape_string($_POST['input_date']) : '2012-03-18';