elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
21  Programación / PHP / Re: [Ayuda] Ideas para Validacion en: 19 Junio 2017, 21:48 pm
Gracias. Ya veo que hay varias formas. Ahora mismo otra persona me estaba comentando que la idea es que cuando le pases un dato de un formulario, el solo sepa el tipo de validacion que debe aplicar (el objetivo es que sea generico) y me dijo que busque sobre la base de ReflectionClass para que lea los comentarios y esas cosas. Y hable con quien me esta enseñando y me dijo que lo hiciera por prioridad (Primero las validaciones secundarias y luego las principales). Creo que tendría que estudiar cada una de las opciones y escoger la que más general Sea. Gracias por la respuesta! Agradecido totalmente
22  Programación / PHP / [Ayuda] Ideas para Validacion en: 19 Junio 2017, 14:55 pm
Hola a todos. Estoy creando un sistema de validacion como parte del proceso de aprendizaje (ya se que los frameworks lo hace pero necesito saber como funciona). Para eso Tengo una carpeta llamada class dentro de mi proyecto donde obviamente guardo las clases y dentro una carpeta llamada Validations donde dentro las clases ValidationClass, isTextValidationClass y isNumerosValidationClass por el momento. Cada una de las clases se llama igual que el archivo. Pues la clase ValidationClass es la clase padre y el resto son hijas. El código de la clase ValidationClass es el siguiente:

Código
  1. <?php
  2.  
  3.  
  4. /**
  5.  * User: Dark_Stone
  6.  * Date: 12/06/2017
  7.  * Time: 23:50
  8.  */
  9. class ValidationClass
  10. {
  11.    protected static function canBeValidated($dato)
  12.    {
  13.        /*
  14.          * Este metodo devuelve false y la clase hija que se haga cargo entonces retornará true
  15.          * Indicando que se puede hacer cargo de la validacion.
  16.          * */
  17.        return false;
  18.    }
  19.  
  20.  
  21.    public static function validar($datos)
  22.    {
  23.        //Instancia la clase
  24.        $validate = new ValidationClass();
  25.  
  26.        //Obtener los hijos en un array
  27.        $childs = $validate->getChilds();
  28.  
  29.        //Recorrer el array buscando a ver quien puede validar el dato
  30.        foreach ($childs as $child) {
  31.  
  32.            if ($child::canBeValidated($datos))
  33.                return $child::validar($datos);
  34.  
  35.        }
  36.    }
  37.  
  38.  
  39.  
  40.    private function getChilds()
  41.    {
  42.        //Metodo para determinar los hijos
  43.  
  44.        /*Un array vacio para guardar los nombres de las clases que retornen true
  45.         *  a la clase padre
  46.         */
  47.        $array = array();
  48.        //Obtener la direccion de los archivos de validacion
  49.        $folder = dir(getcwd() . "\\Validations");
  50.  
  51.        //recorrer la carpeta buscando quien coincida con la clase
  52.        while (false !== ($entry = $folder->read()))
  53.            if ($entry != '..' && $entry != '.' && $entry != 'ValidationClass.php') {
  54.                include $entry; //Incluimos cada archivo
  55.  
  56.                $className = str_replace('.php', '', $entry);
  57.                $parents = class_parents($className);
  58.                $ischildren = false;
  59.                foreach ($parents as $campo => $valor)
  60.                    if ($valor == 'ValidationClass') {
  61.                        $ischildren = true;
  62.                        break;
  63.                    }
  64.                if ($ischildren)
  65.                    $array[] = $className;
  66.  
  67.            }
  68.        return $array;
  69.    }
  70.  
  71.  
  72. }
  73.  

Y la clase isTextValidationClass por ejemplo, tiene el código de la siguiente forma (aun está en construccion)
Código
  1. <?php
  2.  
  3. /**
  4.  * User: Dark_Stone
  5.  * Date: 14/06/2017
  6.  * Time: 17:53
  7.  */
  8. class isTextValidationClass extends ValidationClass
  9. {
  10.  
  11.    protected static function canBeValidated($datos)
  12.    {
  13.        return is_string($datos);
  14.    }
  15.  
  16.  
  17.    public  static function validar($dato)
  18.    {
  19.        if(is_string($dato))
  20.        {
  21.            return "Es un string"; //Es un ejemplo de que hacer si es string
  22.        }
  23.    }
  24.  
  25.  
  26. }
  27.  

Eso me permite hacer algo como esto
Código
  1. $datos = "Esto es un String" //Ejemplo de string
  2. $validar = ValidationClass::validar($datos);
  3. echo $validar;
  4.  

Pero mi pregunta (ya era hora de que hiciera una despues de tanta explicacion) es: Como puedo validar en 2 métodos a la vez? o sea, saber por ejemplo si es string y si tiene mas de 15 caracteres? Usando 2 clases isTextValidationClass y MaxLengthValidationClass. Pense en pasarlo como parametros
Código
  1. $datos = "Esto es un String" //Ejemplo de string
  2. $anotherValidation = "MaxLengthValidationClass";
  3. $validar = ValidationClass::validar($datos,$anotherValidation);
  4. echo $validar;
  5.  
Pero no estoy seguro de cómo hacerlo. ¿Alguna idea por favor?
23  Programación / PHP / Re: Pregunta random php en: 14 Junio 2017, 13:28 pm
Cierto. Mis disulpas
24  Programación / PHP / Re: Pregunta random php en: 13 Junio 2017, 13:14 pm
Buenas y no sé si llego tarde, pero no se podría hacer también de esta forma ¿?
Código
  1. $frase = array('Hola','Foro', 'elHacker.net');
  2. $num=rand(1, 3);
  3. echo $frase[$num];
  4.  
25  Programación / PHP / Re: [Ayuda] Funcion PHP con parametros opcionales en: 13 Junio 2017, 12:59 pm
Gracias por responder y perdon por la demora, es que en Cuba no siempre hay internet. Al final terminé haciendo algo parecido. La duda era como pasar parámetros opcionales y eso lo descubrí 2 horas depues de publicar, pero ya no estaba online. El código terminó así:
Código
  1. public static function Insert($tabla, $array)
  2.    {
  3.        $bd = bd::conectar();
  4.        $_query="";
  5.        $_query = "insert into {$tabla} (" . implode(', ', array_keys($array)) . ' ) values (';
  6.  
  7.        foreach ($array as $key => $value) {
  8.            if (is_numeric($value)) {
  9.                $_query .= ', ' . $value;
  10.            } else {
  11.                $_query .= ", '" . $value . "'";
  12.            }
  13.        }
  14.        $_query = str_replace('(,', '(', $_query);
  15.        $_query .= ')';
  16.  
  17.  
  18.        $bd->getMysqli()->query($_query) or die ("Error al insertar: <br>".$bd->getMysqli()->connect_error);
  19.  
  20.  
  21.    }
  22.  

Y ese fue el más facil. Ahora estoy haciendo el de eliminar y aunque me dieron un código que funciona, no me gusta el array que hay que pasarle, por eso estoy intentando hacer uno mio que sea más cómodo. Gracias de todas formas
26  Programación / PHP / [Ayuda] Funcion PHP con parametros opcionales en: 7 Junio 2017, 22:14 pm
Hola a todos. He estado trabajando en mis basicos conocimientos de POO y me di a la tarea de crear una clase generica para las BD con sus respectivos métodos para insertar, eliminar, comprobar, actualizar, etc. Ya logre hacer el método de insertar, pero ahora quiero hacer uno para hacer un select de la BD que me pueda servir por ejemplo para saber si existe un usuario en una BD. El punto es que estoy tratando de hacer algo asi

Código
  1. class select($tabla, $array[,$where])
  2. {
  3.  
  4. }
  5.  

Pero el punto es que no se como hacer que el tercer argumento sea opcional. O sea que la consulta pueda ser
Código
  1. select * from usuarios
o así
Código
  1. select * from usuarios where user = 'Danny'

No se si me hago entender. Por favor ayuda
27  Sistemas Operativos / Windows / [ayuda] Como crear un usuario de red en Windows 10 en: 6 Mayo 2017, 15:48 pm
Hola a todos. Me gustaria que me ayudaran a crear un usuario en mi pc que solo tenga acceso a los recursos compartidos, no a iniciar sesion en la PC. Es que tengo unas carpetas que necesito que esten compartidas con un usuario especifico, pero no quiero que pueda entrar y tener acceso a sentarse en mi pc y revisar cuando no estoy. Gracias de antemano
28  Programación / PHP / Re: [Resuelto] Invocar JS desde PHP en: 26 Abril 2017, 22:04 pm
Si, eso lo entiendo y se que el primer paso en la validacion se hace en JS para que el usuario no necesite enviar los datos al servidor, pero de igual forma tengo que validar los datos en el servidor, porque el usuario puede deshabilitar en JS en el navegador y así saltarse la validación. Prefiero validar en ambos lados, aunque realmente la validacion en JS no la se hacer. Y no solo para no hacer peticiones innecesarias. Se debe hacer en JS para evitar que el usuario tenga que escribir nuevamente los datos. Eso es molesto y lo digo por experiencia
29  Programación / PHP / Re: [Resuelto] Invocar JS desde PHP en: 26 Abril 2017, 21:49 pm
Perfecto. Entonces Muchas Gracias y Tema Cerrado si quieres
30  Programación / PHP / Re: [Ayuda] Invocar JS desde PHP en: 26 Abril 2017, 21:45 pm
Lo otro que he estado haciendo es crear una sesion de esta forma:
Código
  1. $_SESSION['error_validar'] = "El nombre contiene caracteres incorrectos";
  2.  
y ahora con el código que me diste, redirecciono a la página del formulario y alli muestro en un span el contenido de esa variable.
Páginas: 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines