Здравствуйте, уважаемые специалисты. Нужна ваша профессиональная помощь. Вопрос заключается в следующем. У меня имеется фрагмент кода, который выводит дату рождения. Мне необходимо добавить для дня, месяца и года перед каждым выбором предложенных вариантов еще дополнительный вариант "Unknown". Вот мой фрагмент кода: Код (Text): <?php $beast=array("","",""); if($us_list[3]!=0) { $beast=explode(".",$us_list[3]); } echo"<div class='select__birthdate'> <div class='select__day'> <input id='box__day__unknown' type='radio' name='day' value='Unknown' $sel><label for='box__day__unknown'>Unknown</label>"; for($n=1;$n<32;$n++) { $sel=""; if(strlen($n)==1)$val="0$n"; else $val=$n; if($beast[0]==$val)$sel='checked'; echo"<input id='box__day__$val' type='radio' name='day' value='$val' $sel><label for='box__day__$val'>$val</label>"; } echo"</div>"; echo"<div class='select__mon'> <input id='box__mon__unknown' type='radio' name='mon' value='Unknown' $sel><label for='box__mon__unknown'>Unknown</label>"; for($n=1;$n<13;$n++) { $sel=""; if(strlen($n)==1)$val="0$n"; else $val=$n; if($beast[1]==$val)$sel='checked'; echo"<input id='box__mon__$val' type='radio' name='mon' value='$val' $sel><label for='box__mon__$val'>$val</label>"; } echo"</div>"; echo"<div class='select__year'> <input id='box__year__unknown' type='radio' name='year' value='Unknown' $sel><label for='box__year__unknown'>Unknown</label>"; for($n=1940;$n< date("Y");$n++) { $sel=""; if($beast[2]==$n)$sel='checked'; echo"<input id='box__year__$val' type='radio' name='year' value='$val' $sel><label for='box__year__$val'>$val</label>"; } echo"</div></div>"; $about_1=str_replace("<br>","\r\n",$about_1 ); ?> Но по всей видимости я делаю что-то не правильно, потому как эта конструкция у меня не работает корректно. Подскажите, пожалуйста, правильный вариант. Спасибо за помощь!
Добрый день! 1. Очень не приятно для пользователя, когда без особой необходимости, как в Вашем случае, приходится сколить страницу. Поэтому селекторы дат на input radio никто делает. 2. Советую заменить всё на тэги select и в каждом задать первый option - "Unknown" 3. Год лучше вводить так: HTML: <input type="text" id="year" name="year" value="Unknown" minlength="4" maxlength="4"> 4. Это PHP: if(strlen($n)==1) $val="0$n"; else $val=$n; можно заменить на PHP: $val = str_pad($n, 2, "0", STR_PAD_LEFT); 5. Не плохо бы было добавить обработчи на JS. Начинать с ввода года, затем вводить месяц и по введённым значениям определять количество дней в месяце, а не так, как сейчас - всегда 31. Удачи!