Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Возраст анкетируемого (https://javascript.ru/forum/misc/56227-vozrast-anketiruemogo.html)

Mels 05.06.2015 17:14

Возраст анкетируемого
 
Доброго дня! Помогите со скриптом. Такая проблема, нужно рассчитать возраст анкетируемого человека. Он не должен превышать 20 лет, а иначе выводилось бы сообщение о его ненадлежащем возрасте. Дата рождения заполняется типом Date, заранее спасибо! Не пойму какая функция используется...

Mels 05.06.2015 17:48

Вложений: 1
код анкеты
<HTML lang="ru">
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
 <TITLE>Анкета</TITLE>
</HEAD>
<H1 align="center">Анкета</H1>
<HR>
<form action="report.php" method="post" name='f'>
  <p> ФИО: <input type="text" name="fio"></p>
  <p> Дата Рождения: <input type="date" name="data"></p>

  <p> Образование: 
<select type="text" size="1" name="obr">
<option  value="начальное">начальное</option>
<option  value="среднее">среднее</option>
<option  value="средне профессиональное">средне профессиональное</option>
<option  value="неполное высшее">неполное высшее</option>
<option  value="высшее">высшее</option>
</select></p>
  <p> Пол: <input type="radio" name="pol" value="Мужской">Мужской<input type="radio" name="pol" value="Женский">Женский</P>
  <p> Знание языков программирования: 
<input type="checkbox" name="prog1" value="JavaScript">JavaScript
<input type="checkbox" name="prog2" value="Delphi">Delphi
<input type="checkbox" name="prog3" value="CSS">CSS
<input type="checkbox" name="prog4" value="C++">C++ 
<input type="checkbox" name="prog5" value="php">php 
<input type="checkbox" name="prog6" value="Java">Java</P>
  <p> Личные данные:</P> 
<textarea cols="50" rows="5" name="res"></textarea><br> 
  <p> Желаемая зарплата <input type="text" size="4" name="zarp" value=""><br>
<img src = "captcha.php" />;
  <input type = "text" name = "captcha" />
<p><input type="submit" name="submit" value="Отправить"></p>
<p><input type="reset" value="Очистить " /></p>

</form>
</BODY>
</HTML>

Mels 05.06.2015 18:14

да мне особа все равно,это в учебных целях. Подскажите как и куда эта функция прописывается,совсем запутался...(

Mels 05.06.2015 21:20

Вот что то есть,я на правильном пути????



function getAge($y, $m, $d) { // в качестве параметров будут год, месяц и день
    if($m > date('m') || $m == date('m') && $d > date('d'))
      return (date('Y') - $y - 1); // если ДР в этом году не было, то ещё -1
    else
      return (date('Y') - $y); // если ДР в этом году был, то отнимаем от этого года год рождения
  }

Mels 05.06.2015 23:23

У вас стоит конкретная дата, а при заполнении анкеты возможна любая,и если он старше 20 тогда он должен ругаться,меньше проводить без сообщения в обработчик.

Mels 09.06.2015 13:58

ребят,жду помощи,никак не могу добить эту функцию:blink:

laimas 09.06.2015 14:39

Цитата:

Сообщение от Mels
function getAge($y, $m, $d) { // в качестве параметров будут год, месяц и день
2
if($m > date('m') || $m == date('m') && $d > date('d'))
3
return (date('Y') - $y - 1); // если ДР в этом году не было, то ещё -1
4
else
5
return (date('Y') - $y); // если ДР в этом году был, то отнимаем от этого года год рождения
6
}

И зачем такая бодяга?

Mels 09.06.2015 18:59

это в инете серфил, вот нашел подачу этой функции,но это совсем не то(((((((

laimas 09.06.2015 19:45

Цитата:

Сообщение от Mels
нужно рассчитать возраст анкетируемого человека. Он не должен превышать 20 лет

А что искать то? Чтобы узнать возраст, нужно знать день рождения, его и должен прислать клиент серверу. Все, далее зная что он не должен превышать 20 лет, нужно прибавить к дате рождения 20 лет и сравнить с текущей датой.
$d = '1995-05-12'; //дата рождения, может быть и в таком формате 12.5.1995

echo strtotime($d . ' + 20 year') <= time() ? 'Норма' : 'Старше';

Или из текущей даты вычитать дату рождения и сравнивать с 20.


Часовой пояс GMT +3, время: 20:15.