Validate if date age is less than 18

Asked

Viewed 71 times

0

I’m trying to verify if the age of the informed date is less than 18 with no need to check if it’s over 18, but strangely not working. What am I doing wrong?

$DataNascimento = '2007/09/02';

// VERIFICANDO SE USUÁRIO TEM +18
$VerificaIdade = explode('/', $DataNascimento);
$Ano = $VerificaIdade[0];
$Mes = $VerificaIdade[1];
$Dia = $VerificaIdade[2];

// UNIX timestamp
$Nascimento = mktime(0, 0, 0, $Dia, $Mes, $Ano);

// fetch the current date (minus 18 years)
$Verifica['Dia'] = date('d');
$Verifica['Mes'] = date('m');
$Verifica['Ano'] = date('Y') - 18;

// Timestamp
$Hoje = mktime(0, 0, 0, $Verifica['Dia'], $Verifica['Mes'], $Verifica['Ano']);

if ($Nascimento < $Hoje) {
    // Não preciso desse IF;
} else {
    echo 'Usuário Menor de 18 anos';
}
  • 1

    If you don’t need the if, just reverse the condition to if ($Nascimento >= $Hoje) { echo 'Usuário Menor de 18 anos'; } :-)

  • Hello @hkotsubo, had already done so, thanks for the reply.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.