Búsqueda personalizada

20 mar 2014

Pin It

Widgets

Calcular edad con la fecha de nacimiento en php - Ejercicios básicos de PHP

14:27

Ahora vamos a calcular la edad de una persona con una fecha dada a través de un formulario en PHP.

Cargar fecha de nacimiento en una variable y calcular la edad.

Código:

<?php

 echo "<h1>Cargar fecha de nacimiento en una variable y calcular la edad.</h1><br /><hr /><br /><br />";

 if(isset($_POST['mes'])){//Comprobamos si está disponible la variable mes
 
  //fecha de nacimiento
  $dia = $_POST['dia'];
  $mes = $_POST['mes']; //almacenamos en variables
  $anio = $_POST['anio'];
  
  //hoy
  $diaAC=date("j");
  $mesAC=date("n");
  $anoAC=date("Y");
  
 
 
  //si el mes es el mismo pero el día inferior aun no ha cumplido años, le quitaremos un año al actual
   
  if (($mes == $mesAC) && ($dia > $diaAC)) {
  $anoAC=($anoAC-1); }
   
  //si el mes es superior al actual tampoco habrá cumplido años, por eso le quitamos un año al actual
   
  if ($mes > $mesAC) {
  $anoAC=($anoAC-1);}
   
  //ya no habría mas condiciones, ahora simplemente restamos los años y mostramos el resultado como su edad
   
  $edad=($anoAC-$anio);
  
  echo "Tiene ".$edad." años";
 }
 
?>
 <form method="post" action="3.php" />
  <input type="number" name="dia" placeholder="dia" required />
  <input type="number" name="mes" placeholder="mes" required />
  <input type="number" name="anio" placeholder="año" required />
  <input type="submit" value="Mostrar" />
 </form>

Escrito por

Si tienes alguna otra duda, o quieres comentar algo sobre el tema, te animo a que dejes un comentario. También puedes visitar nuestro foro. ¡Un saludo!

2 comentarios:

  1. hola quiero agregar este codigo a una parte del dolibarr que es un sistema de control ya que estoy practicando en poner fecha de nacimiento y que se vea la edad

    ResponderEliminar
  2. ohhhh, no es necesario tanto. alcanza con tres lineas
    te recomiendo que te mires un poco la funcion detaTime de php
    http://php.net/manual/es/class.datetime.php


    $date = new DateTime($anio.'-'.$mes.'-'.$dia);
    $now = new DateTime();
    $interval = $now->diff($date);


    echo "tienes ". $interval->y ." años, ". $interval->m." meses, y ".$interval->d." días";

    ResponderEliminar

 

© 2014 Aplicaciones ...---Chey---.... All rights resevered. Designed by Chey Developer

Back To Top
Recibe las actualizaciones directo a tu correo