La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Escuela Académica Profesional de Ingeniería de Sistemas Ing. Sanchez Castillo Eddye Arturo

Presentaciones similares


Presentación del tema: "Escuela Académica Profesional de Ingeniería de Sistemas Ing. Sanchez Castillo Eddye Arturo"— Transcripción de la presentación:

1 Escuela Académica Profesional de Ingeniería de Sistemas Ing. Sanchez Castillo Eddye Arturo eddiesanchez0710@gmail.com esanchezctl@ucvvirtual.edu.pe

2 Escuela Académica Profesional de Ingeniería de Sistemas  Formularios recursivos en PHP  Guía de practica Laboratorio: Formularios. Formularios.

3 GET vs. POST Tanto GET y POST son tratados como $_GET y $ _POST. Estos son superglobales, lo que significa que siempre son accesibles, independientemente del alcance, y se puede acceder a ellos desde cualquier función, clase o archivo sin tener que hacer nada especial. Es un conjunto de variables pasadas al script actual a través de los parámetros de URL. $_GET Es un conjunto de variables pasadas al script actual a través de los parámetros de URL. Es un conjunto de variables pasadas al script actual mediante el método HTTP POST. $_POST Es un conjunto de variables pasadas al script actual mediante el método HTTP POST. Escuela Académica Profesional de Ingeniería de Sistemas

4 CUÁNDO UTILIZAR GET? La información enviada desde un formulario con el método GET es visible para todos (todos los nombres y valores de las variables se muestran en la URL). GET también tiene límites en la cantidad de información que desee enviar. La limitación es alrededor de 2000 caracteres. Sin embargo, debido a las variables se muestran en la URL, es posible marcar la página. Esto puede ser útil en algunos casos. GET puede ser utilizado para enviar datos no sensibles. Nota: GET nunca deben ser utilizados para el envío de contraseñas u otra información sensible! Escuela Académica Profesional de Ingeniería de Sistemas

5 CUÁNDO UTILIZAR POST? La información enviada desde un formulario con el método POST es invisible para los demás (todos los nombres / valores están incrustados dentro del cuerpo de la petición HTTP) y no tiene límites en la cantidad de información que desee enviar. Por otra parte la POST soporta funciones avanzadas como el soporte para la entrada binaria de varias partes, mientras que la posibilidad de subir archivos al servidor. Sin embargo, debido a que las variables no se muestran en la URL, no es posible marcar la página. LOS DESARROLLADORE S PREFIEREN LA POST PARA ENVIAR DATOS DEL FORMULARIO. Escuela Académica Profesional de Ingeniería de Sistemas

6 Piense, SEGURIDAD en el tratamiento de las formas de PHP! cómo procesar las formas de PHP con la seguridad en mente. correcta validación de los datos de forma es importante para proteger su forma de hackers y spammers! EL ELEMENTO DE FORMULARIO El código HTML del formulario se ve así: <Form method = "post" action = "<? Php echo htmlspecialchars ($ _ SERVER [" PHP_SELF "]);?>"> Cuando se envía el formulario, los datos del formulario se envía con el método method="post". Nota ¿Cuál es la variable $ _SERVER ["PHP_SELF"]? El $ _SERVER ["PHP_SELF"] es una variable muy global que devuelve el nombre de archivo del script que se está ejecutando. Escuela Académica Profesional de Ingeniería de Sistemas

7 El $_SERVER["PHP_SELF"] variable puede ser utilizado por los hackers! Si PHP_SELF se utiliza en su página, entonces el usuario puede introducir una barra (/) y algo más de Cross Site Scripting (XSS) para ejecutar comandos. NotaCross-site scripting (XSS) es un tipo de vulnerabilidad de seguridad informática se encuentran típicamente en las aplicaciones Web. XSS permite a los atacantes inyectar secuencias de comandos del lado del cliente en páginas web visitadas por otros usuarios. Cómo evitar la vulnerabilidad a $ _SERVER [""] PHP_SELF, se puede evitar mediante el uso de la función () htmlspecialchars. <form method="post" action=“<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Escuela Académica Profesional de Ingeniería de Sistemas

8 PHP Form Validation Example "> Name: E-mail: Website: Comment: Gender: Femenino Masculino Your Input: "; echo $name; echo " "; echo $email; echo " "; echo $website; echo " "; echo $comment; echo " "; echo $gender; ?> Escuela Académica Profesional de Ingeniería de Sistemas

9 El código muestra una forma sencilla de comprobar si el campo de nombre sólo contiene letras y espacios en blanco. Si el valor del campo nombre no es válido, entonces almacenar un mensaje de error: $nombre= test_input($_POST["nombre"]); if (!preg_match("/^[a-zA-Z ]*$/",$nombre)) { $nameErr = " Sólo letras y espacios en blanco permitidos"; } La función preg_match() busca en una cadena de patrón, devolviendo true si existe el patrón, y falso en caso contrario. Escuela Académica Profesional de Ingeniería de Sistemas

10 La forma más fácil y más seguro para comprobar si está bien formado una dirección de correo electrónico es utilizar la función de PHP filter_var(). En el código de abajo, si no está bien formada la dirección de correo electrónico, a continuación, almacenar un mensaje de error: $email = test_input($_POST["email"]); if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr =“Formato del Correo Electrónico es invalido"; } Escuela Académica Profesional de Ingeniería de Sistemas

11 El código siguiente muestra una manera de comprobar si una sintaxis de la dirección URL es válida (esta expresión regular también permite guiones en la URL). Si la sintaxis de dirección URL no es válida, entonces almacenar un mensaje de error: Mensaje: $website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0- 9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$website)) { $websiteErr = “Dirección URL Invalido"; } Escuela Académica Profesional de Ingeniería de Sistemas

12 Problema Ingrese primer valor: Ingrese segundo valor: sumar restar Problema <?php if (isset($_REQUEST['check1'])) { $suma=$_REQUEST['valor1'] + $_REQUEST['valor2']; echo "La suma es:".$suma." "; } if (isset($_REQUEST['check2'])) { $resta=$_REQUEST['valor1'] - $_REQUEST['valor2']; echo "La resta es:".$resta; } ?> Escuela Académica Profesional de Ingeniería de Sistemas

13 Confeccionar un formulario que solicite la carga del nombre de una persona y que permita seleccionar una serie de deportes que practica (futbol, basket, tennis, voley) Mostrar en la página que procesa el formulario la cantidad de deportes que practica. Escuela Académica Profesional de Ingeniería de Sistemas

14 Problema Ingrese el nombre: Deportes que practica: Fútbol Basquet Tenis Voley Problema <?php $cant=0; if (isset($_REQUEST['check1'])) { $cant++; } if (isset($_REQUEST['check2'])) { $cant++; } if (isset($_REQUEST['check3'])) { $cant++; } if (isset($_REQUEST['check4'])) { $cant++; } echo $_REQUEST['nombre']; echo " practica $cant deportes." ?> Escuela Académica Profesional de Ingeniería de Sistemas

15 Confeccionar un formulario que solicite el ingreso del nombre de una persona y un control select (en este último permitir la selección de los ingresos mensuales de la persona: 1-1000,1001-3000,>3000) En la página que procesa el formulario mostrar un mensaje si debe pagar impuestos a las ganancias (si supera 3000) Escuela Académica Profesional de Ingeniería de Sistemas

16 Problema Ingrese el nombre: Seleccione en que rango se ubica sus ingresos: 1-1000 1001-3000 >3000 Problema <?php echo $_REQUEST['nombre']; if ($_REQUEST['ingresos']==3) { echo " debe pagar impuestos."; } else { echo " no debe pagar impuestos a las ganancias."; } ?> Escuela Académica Profesional de Ingeniería de Sistemas

17 Implementar un formulario web para ingresar el nombre de una persona en un control text y mediante un control de tipo textarea se permita el ingreso del curriculum de dicha persona. El control HTML "textarea" se diferencia del "text" en que permite el ingreso de muchas líneas. Escuela Académica Profesional de Ingeniería de Sistemas

18 Problema Ingrese nombre: input type="text" name="nombre"> Ingrese su curriculum: <input type="submit“ value="Confirmar"> Problema <?php echo "El nombre ingresado:".$_REQUEST['nombre']; echo " "; echo "El curriculum:".$_REQUEST['curriculum']; ?> Escuela Académica Profesional de Ingeniería de Sistemas

19 Confeccionar una página que muestre un contrato dentro de un textarea, disponer puntos suspensivos donde el operador debe ingresar un texto. La página que procesa el formulario sólo debe mostrar el contrato con las modificaciones que hizo el operador. Ej. de un contrato puede ser: En la ciudad de [...................], se acuerda entre la Empresa [.......................] representada por el Sr. [……................................................] en su carácter de Apoderado, con domicilio en la calle […………............] y el Sr. [................................................], futuro empleado con domicilio en [........................................], celebrar el presente contrato a Plazo Fijo, de acuerdo a la normativa vigente de los artículos 90,92,93,94, 95 y concordantes de la Ley de Contrato de Trabajo N° 20.744. Escuela Académica Profesional de Ingeniería de Sistemas

20 Problema Completar contrato: En la ciudad de [........], se acuerda entre la Empresa [..........] representada por el Sr. [..............] en su carácter de Apoderado, con domicilio en la calle [..............] y el Sr. [..............], futuro empleado con domicilio en [..............], celebrar el presente contrato a Plazo Fijo, de acuerdo a la normativa vigente de los artículos 90,92,93,94, 95 y concordantes de la Ley de Contrato de Trabajo N° 20.744. Problema <?php echo $_REQUEST['contrato']; ?> Escuela Académica Profesional de Ingeniería de Sistemas

21 Calculadora Completa <?php $y = $_POST["a"]; $z = $_POST["b"]; if(isset($_POST["btsuma"])) {$c = $y + $z; echo "$y + $z es ".$c; } if(isset($_POST["btresta"])) {$c = $y - $z; echo "$y - $z es ".$c; } if(isset($_POST["btmult"])) {$c = $y * $z; echo "$y * $z es ".$c; } if(isset($_POST["btdiv"] )) { if( $z != 0 ) $c = $y / $z; else $c = 0; echo "$y / $z es ".$c; } ?> A : "> B : "> Escuela Académica Profesional de Ingeniería de Sistemas

22


Descargar ppt "Escuela Académica Profesional de Ingeniería de Sistemas Ing. Sanchez Castillo Eddye Arturo"

Presentaciones similares


Anuncios Google