2.6 técnicas para generar formularios, validarlos y procesarlos en el mismo documento web

Upload: taboada11

Post on 02-Jun-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    1/19

    J.J. Taboada Len

    Unidad 22.6 Tcnicas para generarformularios, validarlos y

    procesarlos en el mismodocumento web.

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    2/19

    J.J. Taboada Len

    Tcnica para validar formularios (I)

    //Estructura para validar un formulario

    if (isset($_POST['_submit_check'])) {

    if (valida_form()) {

    procesa_form();

    } else {

    muestra_form(); }} else {

    muestra_form();

    }

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    3/19

    J.J. Taboada Len

    Tcnica para validar formularios (II)// Comprobar los datos del formulario

    function valida_form() {

    //tiene el nombre menos de tres caracteres?if (strlen($_POST[nombre']) < 3) {

    return false; }

    else { return true; }}

    //Procesar los datos del formulario

    function procesa_form() {print Hola, ". $_POST[nombre'];

    }

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    4/19

    J.J. Taboada Len

    Tcnica para validar formularios (III)// Muestra el formulario

    function muestra_form() {

    print

    _HTML_;

    }

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    5/19

    J.J. Taboada Len

    Tcnica para Validar datos (I) conmensaje de error

    // Comprobar los datos del formulario

    function valida_form() {

    // Empezar con un array vaco de mensajes de error$errors = array();

    // Aadir un mensaje de error si nombre corto

    if (strlen($_POST['my_name']) < 3) {$errors[] = tu nombre debe tener

    almenos 3 letras.;}

    // devolver el array(posiblemente vaco)de mensajes de error

    return $errors;

    }

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    6/19

    J.J. Taboada Len

    Tcnica para Validar datos (II) conmensaje de error

    // Muestra el formulariofunction muestra_form($errores=) {if ($errores){

    print Por favor corrija errores: ;print implode(, $errores);print ;

    }print

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    7/19

    J.J. Taboada Len

    Tcnica para validar formularios (III)con mensaje de error//Estructura para validar un formulario

    if (isset($_POST['_submit_check'])) {

    if ($error=valida_form()) {

    muestra_form($error);

    } else {

    procesa_form();}} else {

    muestra_form();

    }

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    8/19

    J.J. Taboada Len

    Tcnica para Validar datos (I) //Elementos obligatorios

    //comprobar un rango de nmeros

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

    if (strlen(trim($_POST['email'])) == 0) {

    $errors[] = Debes entrar un direccin de correos.";}

    if ($_POST[edad'] != strval(intval($_POST[edad']))) {$errors[] = La edad debe ser un nmero.";

    }elseif(($_POST[edad'] < 18) || ($_POST[edad'] > 65)) {$errors[] = La edad debe estar entre 18 aos y 65 aos.";}

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    9/19

    J.J. Taboada Len

    Tcnica para Validar datos (II)

    23/11/2015

    //Mens

    $sweets = array('Sesame Seed Puff','Coconut Milk Gelatin

    Square,'Brown Sugar Cake','Sweet Rice and Meat');

    // Display the form

    function muestrta_form($errores=) {

    print

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    10/19

    J.J. Taboada Len

    Actividades Modificar la actividad formulario5 del cuaderno

    de actividades formularios, para que se validenlos datos introducidos y se presente losoportunos mensajes de errores aplicando lastcnicas aqu propuestas.

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    11/19

    J.J. Taboada Len

    Validar con Expresiones regulares

    Juan JosTaboada Len2011/2012

    Horas de LibreConfiguracin.

    Formularios JavaScript

    Son patrones (cadenas) que permiten buscarcoincidencias con combinaciones de caracteres dentro deotras cadenas de texto

    El objetivo es crear una cadena especial para hacerbsqueda en otra cadena. Si la expresin regular encaja (match) en lacadena de bsqueda, la operacin resultas exitosa.

    Ejemplo, la expresin regular /ejemplo/ encontrar la subcadena"ejemplo" dentro de la cadena "Esto es un ejemplo."

    Se utiliza con la fucin preg_match()

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    12/19

    J.J. Taboada Len

    Ejemplos

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

    //buscando al menos 2 numeros seguidos en la cadena

    if (preg_match('/[0-9]{2}/',[email protected]")){

    echo "HAY COINCIDENCIA";

    } else

    {

    echo "NO HAY COINCIDENCIA";

    }

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    13/19

    J.J. Taboada Len

    $entero preg_match ($exp_regular , $cadena [, $coincidencias[, $flags [, $comienzo ]]])SINTAXIS PHP PREG_MATCH()

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

    $entero: El valor devuelto ser 1 si hay coincidencia, 0 si no la hay, y puede devolverFALSE si hay algn error en la funcin.

    $exp_regular: Expresin regular que usaremos para la comparacin.

    $cadena: Cadena de texto comparada.

    $coincidencias: Es un array con informacin de las partes de la cadena que coinciden con

    la expresin regular.

    $flags: Si se pasa el parametro PREG_OFFSET_CAPTURE en el array de coincidenciastambin vendr el ndice de comienzo de cada coincidencia.

    $comienzo: Posicin de comienzo dentro de la $cadena de la comparacin.

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    14/19

    J.J. Taboada Len

    Expresiones regulares(Algunos caracteres especiales I)Metacaracteres . Match con cualquier carcter

    ^ Match al principio del string $ Match al final del string \s Match con cualquier espacio en blanco \d Match con cualquier dgito \D Match con cualquier carcter que no sea un dgito

    \w Match con cualquier carcter que pueda ser parte deuna palabra (letra, nmero, guin bajo) \W Match con cualquier carcter que NO pueda ser

    parte de una palabra (letra, nmero, guin bajo) \A Inicio de un string.

    \z Final de un string.

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    15/19

    J.J. Taboada Len

    Expresiones regulares(Algunos caracteres especiales II)Cuantificadores * el carcter puede aparecer cero o mas veces.

    + el carcter puede aparecer una o mas veces. ? el carcter puede aparecer cero o una vez. {n} el carcter aparece exactamente n veces. {n,}el carcter aparece n o ms veces. {n,m} el carcter puede aparecer entre n y m veces. Como parte de la notacin, siempre encerramos las

    expresiones regulares entre /, llaves ({}) o #. Porejemplo, la expresin /ab?c/ hace match con ac y abc. Laexpresin regular /ab{1,3}c/ hace match con abc, abbcy

    abbbc.

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    16/19

    J.J. Taboada Len

    Expresiones regulares(Algunos caracteres especiales III)Agrupadores [] permiten agrupar creando rangos, por ejemplo /ab[0-5]+c/ har

    match con cualquier string que contenga ab, una o ms veces un nmeroentre 0 y 5, y finalmente una c. Por ejemplo: ab12c.

    () Nos permiten crear sub-expresiones, expresiones regulares contenidasdentro de otras: /a(bc.)+e/. Tiene un uso especial en formas como (), quepermite capturar todo lo que encierren los parntesis, y (a|b) que hacematch con a o b

    Modificadores Permiten cambiar el modo en que se ejecute la expresin regular. Se

    agregan despus del delimitador de cierre. i Coincidir indistintamente entre maysculas y minsculas. m Match multilnea. s El metacaracter . har match tambin con el caracter de cambio de

    lnea. u Hacer los matches en modo UTF8 x Ignorar espacios.

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    17/19

    J.J. Taboada Len

    Ejemplo: Validar un email

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

    functionverificar_email($email) {if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-

    Z0-9\._-]+)+$/",$email)){ return true; }

    return false;}

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    18/19

    J.J. Taboada Len

    Ejemplo: Verificar si una contrasea essegura

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada

    functionverificar_password_strenght($password){ if(preg_match("/ .*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/",

    $password))echo "Su password es seguro.";

    elseecho "Su password no es seguro."; }

  • 8/10/2019 2.6 Tcnicas para generar formularios, validarlos y procesarlos en el mismo documento web.

    19/19

    J.J. Taboada Len

    Unidad 22.6 VALIDAR FORMULARIOS

    FIN DE LA PRESENTACINGRACIAS

    23/11/2015Implantacin deAplicaciones

    WEB.FORMATOS DEPRESENTACIN. JJ

    Taboada