Помощь с кодом по основам работы с формой на PHP
Задание: С помощью формы спросите у пользователя год. После отправки определите, этот год високосный или нет. Сделайте так, чтобы при первом заходе на страницу в инпуте уже стоял текущий год.
Вот код, который у меня получился:
<form action="" method="GET">
<input
name="Year"
value="<?php
if (isset($_GET['Year']))
echo $_GET['Year'];
else echo date('Y')
?>"
>
<input type="submit">
</form>
<?php if(!empty($_GET['Year'])){
echo date('L', strtotime($_GET['Year']));
} ?>
Но какую бы дату я ни вводил, результат получается 0 - то есть год не високосный. У меня есть подозрение, что это определяется ещё до того, как я ввожу данные (то есть для текущего года) и после не обновляется, но что сделать чтобы исправить это я не понимаю.
Ответы (1 шт):
Автор решения: Evgeniy Leonidov
→ Ссылка
Есть функция checkdate(), она может проверить, есть ли дата в календаре. Проверьте ей, есть ли 29 февраля нужного года:
checkdate(2, 29, $year)
например вот такое решение:
if(!empty($_GET['Year'])) {
$year = intval($_GET['Year']);
if(checkdate(2, 29, $year)) {
echo "Год $year - високосный";
} else {
echo "Год $year - не високосный";
}
}