Ver Mensaje Individual
  #6 (permalink)  
Antiguo 27/09/2017, 14:17
elsaiya
 
Fecha de Ingreso: marzo-2012
Ubicación: El Vigia Edo Merida
Mensajes: 147
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: Validar edad segun fecha de nacimiento

Muchas gracias por responder amigo, aqui muestro el codigo completo donde hago la validacion, el problema es el siguiente en el formulario puedo registrar varios familiares y cuando el primero tiene la edad correcta y el segundo no, entonces me hace el registro del primero y no del segundo, no se si me doy a entender, y quisiera es q no me registre ninguno al haber uno con la edad incorrect


Código PHP:
Ver original
  1. public function RegistrarCargaFamiliar()
  2.     {
  3.         self::SetNames();
  4.         if(empty($_POST["codbenef"]) or empty($_POST["dnibenef"]) or empty($_POST["nombenef"]))
  5.         {
  6.             echo "1";
  7.             exit;
  8.         }
  9.            
  10.         for($i=0;$i<count($_POST['nomfamiliar']);$i++){  //recorro el array
  11.         if (!empty($_POST['nomfamiliar'][$i])) {
  12.        
  13.         $f1 = new DateTime($_POST['fnacfamiliar'][$i]);
  14.         $f2 = new DateTime("now");
  15.  
  16.         $diferencia =  $f1->diff($f2);
  17.         if ($_POST["parentescofamiliar"][$i]=="HIJO(A)" && $diferencia->format("%y") >= 21) {
  18.         echo "2";
  19.         exit;
  20.         }
  21.        
  22.         $sql = " select * from cargafamiliar where dnibenef = ? and dnifamiliar = ? and dnifamiliar != ''";
  23.         $stmt = $this->dbh->prepare($sql);
  24.         $stmt->execute( array($_POST["dnibenef"], $_POST["dnifamiliar"][$i]));
  25.         $num = $stmt->rowCount();
  26.         if($num > 0)
  27.         {
  28.            echo "3";
  29.            exit;
  30.            
  31.         } else {
  32.        
  33.         $sql = " select * from cargafamiliar where dnibenef = ? and dnifamiliar != '' and parentescofamiliar = ? and parentescofamiliar = 'CONYUGE'";
  34.         $stmt = $this->dbh->prepare($sql);
  35.         $stmt->execute( array($_POST["dnibenef"], $_POST["parentescofamiliar"][$i]));
  36.         $num = $stmt->rowCount();
  37.         if($num > 0)
  38.         {
  39.            echo "4";
  40.            exit;
  41.            
  42.         } else {
  43.            
  44.           $query = " insert into cargafamiliar values (null, ?, ?, ?, ?, ?, ?); ";
  45.           $stmt = $this->dbh->prepare($query);
  46.           $stmt->bindParam(1, $dnibenef);
  47.           $stmt->bindParam(2, $dnifamiliar);
  48.           $stmt->bindParam(3, $nomfamiliar);
  49.           $stmt->bindParam(4, $parentescofamiliar);
  50.           $stmt->bindParam(5, $fnacfamiliar);
  51.           $stmt->bindParam(6, $fechaingresofamiliar);
  52.        
  53.           $dnibenef = strip_tags($_POST["dnibenef"]);
  54.           $dnifamiliar = strip_tags($_POST['dnifamiliar'][$i]);
  55.           $nomfamiliar = strip_tags($_POST['nomfamiliar'][$i]);
  56.           $parentescofamiliar = strip_tags($_POST['parentescofamiliar'][$i]);
  57.           $fnacfamiliar = strip_tags(date("Y-m-d",strtotime($_POST['fnacfamiliar'][$i])));
  58.           $fechaingresofamiliar = strip_tags(date("Y-m-d"));
  59.           $stmt->execute();
  60.                                                         }
  61.                                                  }
  62.                                         }
  63.                                 }
  64.  
  65.             echo "<div class='alert alert-success'>";
  66.             echo "<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;</button>";
  67.             echo "<span class='fa fa-check-square-o'></span> EL BENEFICIARIO FUE REGISTRADO EXITOSAMENTE";
  68.             echo "</div>";     
  69.             exit;
  70.    }