Foros del Web » Programando para Internet » PHP »

Comprobar facha de nacimiento con anos

Estas en el tema de Comprobar facha de nacimiento con anos en el foro de PHP en Foros del Web. Hola necesito comprobar en mi pagina que dependiendo de la fecha de nacimiento y los anos del usuario facilitados puedo saber si es posible. Por ...
  #1 (permalink)  
Antiguo 29/10/2012, 14:18
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Comprobar facha de nacimiento con anos

Hola necesito comprobar en mi pagina que dependiendo de la fecha de nacimiento y los anos del usuario facilitados puedo saber si es posible.

Por ejemplo saber que si alguien tiene 30 anos y su fecha de nacimiento es : 1/ 20/ 1982

En este caso si seria posible porque ya los ha cumplido pero si la fecha fuera : 12/ 13/ 1982 no seria posible..

Yo tengo el siguiente código:

Código PHP:
Ver original
  1. if(strlen($_POST['dias'])<2){
  2.         $dias=substr($_POST['dias'],1);
  3.     }else{$dias=$_POST['dias'];}
  4.     if(strlen($_POST['meses'])<2){
  5.         $meses=substr($_POST['meses'],1);
  6.     }else{$dias=$_POST['dias'];}
  7.     $timestamp1=mktime('0','0','0',$meses,$dias,$_POST['anos']);
  8.     $timestamp2=mktime();
  9.     $resto=$timestamp2-$timestamp1;
  10.     $anos_direrencia=$resto / (60*60*24*366);
  11.     if($_POST['nacer']!=$anos_direrencia){
  12.         $errores[]='Es imposible';
  13.     }else{$errores[]='Correcto';

Pero no me funciona...
Donde fallo?

Saludos
  #2 (permalink)  
Antiguo 29/10/2012, 14:31
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: Comprobar facha de nacimiento con anos

hombre... comprobar si alguien es un facha de nacimiento será complicado ¿no?

pero fuera de tonterias lo primero que he pensado y he mirado en tu script es que tratas los años de 366 dias un año tiene 365,25 dias pero de todos modos aun haciendolo así no se si seria exacto del todo hasta hacer un par de pruebas y calculos


luego tampoco se que recibes en post nacer pero lo comparas con un numero seguramente con decimales despues de tanta división

no vendria nada mal saber que recibes en esa variable para saber como se debe comparar
  #3 (permalink)  
Antiguo 29/10/2012, 14:34
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 14 años, 6 meses
Puntos: 66
Respuesta: Comprobar facha de nacimiento con anos

y si ya te paso pones que recibes en los otros post...

con una "inicializacion de los posts" bastaria, almenos yo prefioero eso a que me pegues ahi el formulario

algo como

$_post['1']="12/2/2039";

aunque sea falso pero dame datos de entrada anda ;)
  #4 (permalink)  
Antiguo 30/10/2012, 08:16
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Comprobar facha de nacimiento con anos

:D tienes razon poes aver:

$_POST['nacer'] = '32'; //los anos que tiene el usuario :D
$_POST['dias'] = '12'; //Los dias del mes en el que ha nacido
$_POST['meses'] = 4; // El mes en el que ha nacido
$_POST['anos'] = 1945; //El ano en el que ha nacido.

Poes estos son.
Vi mi codigo algo mas y se me ocurrio otra cosa.

Solo me falta crear la. Cuando la tengo la digo a ver si funciona.

Pero tu si sabes tambien otro dime lo :D
  #5 (permalink)  
Antiguo 30/10/2012, 08:53
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Comprobar facha de nacimiento con anos

Hola intente hacer algo pero no me funciono... me falta algo importante y no se que es.

Código PHP:
Ver original
  1. //Comprueba si el mes de nacimiento facilitado por el usuario es el mismo que el mes actual
  2.         if(date('n')==$_POST['meses']){
  3.             if(date('j')==$_POST['dias']){
  4.                
  5.             }else{
  6.                 //Si el dia actual es mayor que el dia de su cumpleanos es decir que puede haber cumplido. Para estar seguros comprobamos el ano.
  7.                 if(date('j')>$_POST['dias']){
  8.                    
  9.                 }
  10.             }
  11.         }elseif(date('n')>$_POST['meses']){
  12.             if(date('j')==$_POST['dias']){
  13.                 $s=date('Y')-$_POST['anos'];
  14.                 if($s!=$_POST['nacer']){
  15.                     $error_nacer=true;
  16.                 }
  17.             }elseif(date('j')<$_POST['dias']){
  18.                 $error_nacer=true;
  19.             }elseif(date('j')>$_POST['dias']){
  20.                 $s=date('Y')-$_POST['anos'];
  21.                 if($s!=$_POST['nacer']){
  22.                     $error_nacer=true;
  23.                 }
  24.             }
  25.         }

Saludos
  #6 (permalink)  
Antiguo 30/10/2012, 09:09
Avatar de veruti85  
Fecha de Ingreso: octubre-2012
Ubicación: Entre Huelva y Madrid
Mensajes: 32
Antigüedad: 12 años
Puntos: 7
Respuesta: Comprobar facha de nacimiento con anos

Prueba con:

$fechanac = mktime(0,0,0,$_POST['mes'],$_POST['dia'],$_POST['anio']); //Construyes la fecha en segundos

$edad = time()-$fechanac; //AQUI SACAS LOS SEGUNDOS TRANSCURRIDOS DESDE QUE NACIO HASTA LA HORA ACTUAL

$anios = floor($edad/(60*60*24*365.25);) //LO DIVIDES POR LOS (3600*24*365.25) SEGUNDOS DE UN AÑO y truncas el valor

Espero que te sirva. No lo he probado, pero basicamente debe ser asi

Saludos
  #7 (permalink)  
Antiguo 30/10/2012, 09:39
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Comprobar facha de nacimiento con anos

He encontrado otro buscando otro que si me sirvio:

Código PHP:
Ver original
  1. function calculaedad($fecha)
  2. {  list($Y,$m,$d) = explode("-",$fecha);
  3.     return( date("md") < $m.$d ? date("Y")-$Y-1 : date("Y")-$Y );
  4. }
  5.  
  6.     $s=calculaedad($_POST['anos'].'-'.$_POST['meses'].'-'.$_POST['dias']);
  7.     if($s!=$_POST['nacer']){
  8.         $error=true;
  9.     }

Lo encontre aqui por si alguien quiere saber como funciona : [URL="http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_PHP/Ejemplos/Calcular_edad"]La funcion[/URL]

Saludos y gracias a todos aunque no tenia que publicar el tema si no simplemente buscar

Etiquetas: nacimiento, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.