Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/08/2017, 07:48
Avatar de aviweb2015
aviweb2015
 
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 1 mes
Puntos: 1
verificar si usuario es mayor de edad

quisiera tratar de verificar antes de poder hacer un insert si el usuarios a registrarse es mayor de edad, si es mayor de edad puede registrarse en el sistema, pero si es menor de edad el sistema no lo deje registrarse, ya que es requerido que sea mayor de edad para poder registrarse. pero no logro que funcione, gracias de ante mano


proceso para registrar

Código PHP:
Ver original
  1. <!-- proceso para registrar-->
  2. <?php
  3. if(isset($_POST['guardar'])){
  4.  
  5.  
  6. if($_POST['pass']!=$_POST['pass2']) {
  7.  
  8.            $errMSG = "¡ Ups Aviso: Las Contraseñas deben coincidir !";
  9.               header("refresh:5;registrarse.php");
  10.  
  11.  
  12.   }else {
  13.  
  14.  
  15.   $sql = "SELECT cedula FROM usuarios WHERE cedula = :cedula LIMIT 1"; //Creamos la select
  16.   $check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  17.   $check->bindParam(':cedula', $_POST['cedula']);//Substituimos las variables de la SELECT
  18.   $check->execute();//Ejecutamos la consulta
  19.   $contador = $check -> rowCount();//Esta función devuelve el número de resultados que ha devuelto la SELECT
  20.   if ($contador > 0) {
  21.   $check->closeCursor();
  22.  
  23.           $errMSG = "¡ Ups Aviso: Este usuario ya se encuentra registrado !";
  24.               header("refresh:5;registrarse.php");
  25.   }
  26.  
  27.  
  28.   //avisame si el nombre de usuario existe
  29.   $sql = "SELECT id_usuarios FROM usuarios WHERE user = :user LIMIT 1";
  30.   //Creamos la select
  31.   $user_check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  32.   $user_check->bindParam(':user', $_POST['user']);
  33.   $user_check->execute();
  34.   if($user_check->rowCount() > 0){
  35.   $user_check->closeCursor();
  36.  
  37.  
  38.   $errMSG = "¡ Aviso: El nombre de usuario ya se encuetra registrado !";
  39.   header("refresh:5;registrarse.php");
  40.  
  41.  
  42.   }
  43.  
  44.  
  45.   $sql= "SELECT edad FROM usuarios WHERE user = :user LIMIT 1"; //Creamos la select
  46.   $check = $DB_con->prepare($sql); //Preparamos la SELECT, de ésta manera evitamos SQL Injection
  47.   $check->bindParam(':edad', $_POST['edad']);//Substituimos las variables de la SELECT
  48.   $check->execute();//Ejecutamos la consulta
  49.   $edad = $check->fetchColumn();
  50.   $edad=$_POST['edad'];
  51.  
  52.   if ($edad > 18){
  53.   $check->closeCursor();
  54.  
  55.  
  56.      $errMSG = "¡ Aviso: no se permiten registros a menores de edad !";
  57.        header("refresh:5;registrarse.php");
  58.  
  59.   }
  60.  
  61.   else
  62.   {
  63.  
  64.   $sql=$DB_con->prepare("INSERT INTO usuarios (user,pass,idnivel,cedula,nombres,apellidos,fecha_nac,edad,cod,telefono,direccion,id_seguros,id_servicios,observaciones)
  65.  VALUES (:user,:pass,:idnivel,:cedula,:nombres,:apellidos,:fecha_nac,:edad,:cod,:telefono,:direccion,:id_seguros,:id_servicios,:observaciones)");
  66.   $sql->bindParam(':user', $_POST['user']);
  67.   $sql->bindParam(':pass', $_POST['pass']);
  68.   $sql->bindParam(':idnivel', $_POST['idnivel']);
  69.   $sql->bindParam(':cedula', $_POST['cedula']);
  70.   $sql->bindParam(':nombres', $_POST['nombres']);
  71.   $sql->bindParam(':apellidos', $_POST['apellidos']);
  72.   $sql->bindParam(':fecha_nac', $_POST['fecha_nac']);
  73.   $sql->bindParam(':edad', $_POST['edad']);
  74.   $sql->bindParam(':cod', $_POST['cod']);
  75.   $sql->bindParam(':telefono', $_POST['telefono']);
  76.   $sql->bindParam(':direccion', $_POST['direccion']);
  77.   $sql->bindParam(':id_seguros', $_POST['id_seguros']);
  78.   $sql->bindParam(':id_servicios', $_POST['id_servicios']);
  79.   $sql->bindParam(':observaciones', $_POST['observaciones']);
  80.   $sql->execute();
  81.  
  82.       $successMSG ="¡ Bien Hecho: Usuario registrado correctamente !";
  83.             header("refresh:5;login.php");
  84.          }
  85.       }
  86.     }
  87.   ?>
  88.   <!-- fin proceso para registrar-->



función para calcular la edad a partir de la fecha de nacimiento


Código Javascript:
Ver original
  1. <script>
  2.   function calcAge(dateString) {
  3.     var birthday = +new Date(dateString);
  4.     return ~~((Date.now() - birthday) / (31557600000));
  5. }
  6.  
  7. function add_months(datestr, months) {
  8.     var new_d = new Date(datestr);
  9.     new_d.setMonth(new_d.getMonth() + months);
  10.     return new_d;
  11. }
  12.  
  13. $(document).ready(function(){
  14. $('select').material_select();
  15. $(".button-collapse").sideNav();
  16. $('.modal').modal();
  17. $('.datepicker').pickadate({
  18.         selectMonths: true, // Creates a dropdown to control month
  19.         selectYears: 10, // Creates a dropdown of 15 years to control year
  20.         format: 'yyyy-mm-dd', // formto de fecha  
  21.         onClose: function() {
  22.             $('#edad').val(calcAge($('#fecha_nac').val()));
  23.         }
  24.     });
  25.  
  26.  });
  27.  </script>
__________________
yoclens avilan