Código Fonte:



<html>

<head>

<title>PHP</title>

</head>

<body>

<h1>Calcular a idade</h1>



<?php

// Função para limpar caracteres estranhos dos formulários.

function limpa_dados($dados) {

    
$dados trim($dados);

    
$dados stripslashes($dados);

    
$dados htmlspecialchars($dados);

return 
$dados;

}





function 
dia($data) {

    
$indice=strpos($data,"-");

    
$dia=substr($data,0,$indice);

    return 
$dia;

}



function 
mes($data) {

    
$indice=strpos($data,"-");

    
$retirar_dia=substr($data,$indice+1);

    
$indice=strpos($retirar_dia,"-");

    
$mes=substr($retirar_dia,0,$indice);

    return 
$mes;

}



function 
ano($data) {

    
$indice=strpos(strrev($data),"-");

    
$rev_ano=substr(strrev($data),0,$indice);

    return 
strrev($rev_ano);

}



function 
verificadata($data) {

  return 
checkdate(mes($data), dia($data), ano($data));

}



if (
$_SERVER["REQUEST_METHOD"] == "POST") {

        
$nome limpa_dados($_POST["var_nome"]);

        
$data limpa_dados($_POST["var_data"]);



if (
verificadata($data))



    
$hoje date('d-m-Y');

    
$nasc_dia dia($data);

    
$nasc_mes mes($data);

    
$nasc_ano ano($data);



    
$idade ano($hoje)-$nasc_ano;

    

    if (
$nasc_mes mes($hoje)) { // Ainda não passou o mês de nascimento

        
$idade -= 1;

    }

    elseif (
$nasc_mes == mes($hoje)) { // Mês de nascimento, verificar o dia

        
if ($nasc_dia dia($hoje)) {

            
$idade -= 1;

        }

        elseif (
$nasc_dia == dia($hoje)) { // Dia de aniversário

            
$idade $idade."<br> Parabéns hoje é o seu dia de aniversário!";

        };

    };

    

    echo 
"<h2>Dados recebidos:</h2>";

    echo 
"Caro $nome a sua idade é $idade<br>";

        }



    else

        { echo 
"Data não é válida";};



}

    

else {

?>

<form action="<?php echo htmlspecialchars($_SERVER[" PHP_SELF "]);?>" method="POST">

  <label>Qual o seu nome:</label><br>

  <input type="text" name="var_nome"><br>

    <label>Qual a sua data de nascimento:</label><br>

  <input type="text" name="var_data"><br>

  <input type="submit" value="Enviar">

</form>



<?php

}

?>



</body>

</html>