Я смотрел на многие сообщения здесь, и я все еще не могу понять это.Проверка возраста на PHP
Я пытаюсь проверить, что кто-то старше 13 лет, прежде чем они регистрируются на моем сайте. Это то, что я до сих пор
<?php
if (is_string($_POST['birthday']) && $_POST['birthday'] != 'mm/dd/yyyy')
{
$dateObj = new DateTime($_POST['birthday']);
$ageLimit = new DateTime('13 years');
$now = new DateTime(date("Y/m/d"));
$checkDate = $now->diff($ageLimit);;
if($checkDate > $dateObj)
{
$errors[]='You must be atleast 13 years old to join.';
}
else
{
$bday = mysqli_real_escape_string($db,$_POST['birthday']);
}
}
else
{
$errors[]= 'Enter your birthday.';
}
код всегда будет работать на
$bday = mysqli_real_escape_string($db,$_POST['birthday']);}
независимо от того, что не будет введен в поле даты и результат всегда 1.
Может кто-нибудь помочь я с этим? Я не могу это понять самостоятельно.
<b>Birth Date</b><br><input type="date" name="birthday"
value=<?php if(isset($_POST['birthday']))echo $_POST['birthday'];?>><br>
Не должен ли это будет 'если ($ dateObj <$ ageLimit)' – Cyclonecode
Нету, потому что если день рождения более свежо, что 13 лет назад это означает, что пользователь слишком молод. –
Вы правы, я просто смущен извиняюсь =) Возможно, пришло время ложиться спать. – Cyclonecode