Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2 4 formularios_php

675 views

Published on

Formularios en PHP

Published in: Education
  • Be the first to comment

2 4 formularios_php

  1. 1. Unidad Didáctica 2 GENERACIÓN DE DOCUMENTOS WEB CON GUIONES DE SERVIDOR 2.4 FORMULARIOS www.docencia.taboadaleon.es 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva 1
  2. 2. Formularios (I)  Los formularios permiten al usuario introducir información y, por lo tanto, interactuar con el sitio. 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva Un formulario HTML se define entre las etiquetas <form> y </form>. <form [action="url_de_procesamiento”][method="GET"|"POST”][ id="identificador_formulario”][target="destino”]> ... </form>
  3. 3. Formularios (II) 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva Parámetro Descripción Action URL relativa o absoluta (Uniform Resource Locator) que procesará el formulario, en nuestro caso, un script PHP. Este atributo es obligatorio para cumplir con la estricta recomendación XHTML. Method Modo de transmisión al servidor de la información introducida en el formulario. GET (valor predeterminado): los datos del formulario se transmiten en la URL. POST: los datos del formulario se transmiten en el cuerpo de la consulta. Id Identificador del formulario. Si la página HTML contiene varios formularios, el identificador permite diferenciarlos. En nuestro caso, este identificador no tiene ningún valor porque no se recupera en el script de procesamiento del formulario. Por contra, se puede utilizar del lado del cliente, en JavaScript, por ejemplo. Target Destino (por ejemplo, otra ventana) en el que se abrirá la dirección URL de destino.
  4. 4. Recuperar datos de un formulario (I)  Fichero uno.php <html> <body> <form action=”dos.php” method=”post”> Su nombre: <input type=”text” name=”nombre”> Su edad: <input type=”text” name=”edad”> <input type=”submit” value=”aceptar”> </form> </body> </html>  Fichero dos.php <html> <body> <?php $nombre=(isset($_POST[’nombre’]))?htmlspecialchars($_POST[’nombre’]):’’; $edad=(isset($_POST[’edad’]))?(int)$_POST[’edad’]:’’; print (“Hola: $nombre”) print (“su edad es: $edad”); ?> </body> </html> 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva Actividad:Realizar Formulario1delcuaderno de actividades
  5. 5. Recuperar datos de un formulario(II)  Todos los campos del formulario se almacenan en una matriz asociativa $_POST o $_GET según el valor de method Ejemplo: $_POST[’nombre’]  La clave de la matriz es igual al nombre del campo en el formulario (atributo name de la etiqueta <input>,<select> o <textarea>) y el valor igual al valor introducido en el campo. Ejemplo: <input type=”text” name=”nombre”>  Esta información también está disponible en la matriz asociativa $_REQUEST que agrupa el contenido de las matrices $_GET y $_POST 04/11/2016 5 . Implantación deAplicaciones WEB JJ Taboada León
  6. 6. Recuperar datos de un formulario(III) La función isset( )  Esta función nos permite comprobar si una variable se ha definido y en ese caso devuelve unTrue.  La sintaxis es isset($variable) Ejemplo: if (isset($_POST[’nombre’])){ … }  Muy útil para comprobar si se han rellenado los campos de un formulario 04/11/2016 IES San Sebastián Huelva . Implantación deAplicaciones WEB JJ Taboada León
  7. 7. Acceso a formularios desde PHP (V)  Acceso a los diferentes tipos de elementos de entrada de formulario ◦ Elementos de tipo INPUT  TEXT  RADIO  CHECKBOX  BUTTON  FILE  HIDDEN  PASSWORD  SUBMIT ◦ Elemento SELECT  Simple / múltiple ◦ ElementoTEXTAREA 04/11/2016 7 . Implantación deAplicaciones WEB JJ Taboada León
  8. 8. Acceso a formularios desde PHP (VI)  TEXT Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20"> <?PHP $cadena=(isset($_POST[’cadena’]))?$_POST[’cadena’]:’’; print ($cadena); ?> 04/11/2016 8 . Implantación deAplicaciones WEB JJ Taboada León
  9. 9. Acceso a formularios desde PHP (VII)  RADIO Sexo: <INPUT TYPE="radio" NAME=“sexo" VALUE=“M“ CHECKED>Mujer <INPUT TYPE="radio" NAME=“sexo" VALUE=“H">Hombre <?PHP $sexo = isset($_POST[’sexo’]))?$_POST[’sexo’]:’’; print ($sexo); ?> 04/11/2016 9 . Implantación deAplicaciones WEB JJ Taboada León
  10. 10. Acceso a formularios desde PHP (VIII) checkbox <input type="checkbox" name="pc" value="pc" checked="checked"> <input type="checkbox" name="portatil" value="portatil"> <input type="checkbox" name="DVD" value="DVD"></p> <?PHP echo "Elmaterialinformático que tengo es:","<br>"; "<br>"; echo $_REQUEST['pc'],"<br>"; echo $_REQUEST['portatil'],"<br>"; echo $_REQUEST['DVD'],"<br>"; ?> 04/11/2016 10 . Implantación deAplicaciones WEB JJ Taboada León
  11. 11. Acceso a formularios desde PHP (IX)  BUTTON <INPUT TYPE="button" NAME=“actualizar" VALUE="Actualizar datos"> <?PHP if (isset($_POST[’actualizar’])) print ("Se han actualizado los datos"); ?> 04/11/2016 11 . Implantación deAplicaciones WEB JJ Taboada León
  12. 12. Acceso a formularios desde PHP (X)  FILE <FORM ACTION="procesa.php" METHOD="post“ ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="fichero"> </FORM> 04/11/2016 12 . Implantación deAplicaciones WEB JJ Taboada León
  13. 13. Acceso a formularios desde PHP (XI)  HIDDEN <?PHP print(“<INPUT TYPE=’hidden’ NAME=’username’ VALUE=’$usuario’>n”); ?> <?PHP $username = isset($_POST[’username’]))?$_POST[’username’]:’’; print ($username); ?> 04/11/2016 13 . Implantación deAplicaciones WEB JJ Taboada León
  14. 14. Acceso a formularios desde PHP (XII)  PASSWORD Contraseña: <INPUT TYPE="password" NAME="clave"> <?PHP $clave = isset($_POST[’clave’]))?$_POST[’clave’]:’’; print ($clave); ?> 04/11/2016 14 . Implantación deAplicaciones WEB JJ Taboada León
  15. 15. Acceso a formularios desde PHP (XIII)  SUBMIT <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos"> <?PHP if (isset($_POST[’enviar’])) print ("Se han enviado los datos"); ?> 04/11/2016 15 . Implantación deAplicaciones WEB JJ Taboada León
  16. 16. Acceso a formularios desde PHP (XIV)  SELECT simple Color: <SELECT NAME=“color"> <OPTION VALUE=“rojo" SELECTED>Rojo <OPTION VALUE=“verde">Verde <OPTION VALUE=“azul">Azul </SELECT> <?PHP $color = $_REQUEST[‘color’]; print ($color); ?> 04/11/2016 16 . Implantación deAplicaciones WEB JJ Taboada León
  17. 17. Acceso a formularios desde PHP (XV)  SELECT múltiple Idiomas: <SELECT MULTIPLE SIZE="3" NAME="idiomas[]"> <OPTION VALUE="ingles" SELECTED>Inglés <OPTION VALUE="frances">Francés <OPTION VALUE="aleman">Alemán <OPTION VALUE="holandes">Holandés </SELECT> <?PHP $idiomas = $_REQUEST[‘idiomas’]; foreach ($idiomas as $idioma) print (“$idioma<BR>n”); ?> 04/11/2016 17 . Implantación deAplicaciones WEB JJ Taboada León
  18. 18. Acceso a formularios desde PHP (XVI)  TEXTAREA Comentario: <TEXTAREA COLS=“50" ROWS=“4" NAME="comentario"> Este libro me parece ... </TEXTAREA> <?PHP $comentario = $_REQUEST[‘comentario’]; print ($comentario); ?> 04/11/2016 18 . Implantación deAplicaciones WEB JJ Taboada León
  19. 19. Valoración en el propio documento (I) <form action=“formulario.php”method="post"> <input type="text" name="nombre" /> <input type="submit" name="enviar" /> </form> <?php if (isset($_POST['nombre'])){ if ($_POST['nombre']!="") { echo "Hola ". $_POST['nombre']; } else if (isset($_POST['enviar'])) { echo "Rellena los campos";} } ?> 04/11/2016 IES San Sebastián Huelva . Implantación deAplicaciones WEB JJ Taboada León
  20. 20. Valoración en el propio documento (II) <?php $form_apellido = (isset($_POST[’apellido’]))?$_POST[’apellido’]:’’; $form_nombre = (isset($_POST[’nombre’]))?$_POST[’nombre’]:’’ ?> <!DOCTYPE html > <html > <head> <title>Entrada</title> </head> <body> <form action="entrada.php" method="post"> <div> Apellidos:<input type="text" name="apellido" value="<?php echo $form_apellido ?>" /><br/> Nombre:<input type="text" name="nombre" value="<?php echo $form_nombre ?>" /><br/> <inputtype="submit" name="ok" value="OK" /> </div> </form> </body> 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva Actividad:Realizar formulario2
  21. 21. La seguridad en los envíos de datos  El riesgo de que la información sea interceptada durante el proceso de transmisión desde el cliente hasta el Servidor  El riesgo de daños en los contenidos de nuestro espacio de servidor: 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva El código de cualquier formulario estará accesible sólo con ir a la opciónVer código fuente y allí estarán de nuevo todos los datos: nombre del script, nombres de las variables, etcétera, con lo que, cualquier usuario y desde cualquier sitio,puede acceder a ese script. Reducir,este tipo de riesgos: 1. Restringir a usuarios autorizados el uso de algunos subdirectorios 2. Almacenar datos importantes fuera del directorio root del servidor 3. El uso de algunas de las variables predefinidas como elementos de protección
  22. 22. ENVIAR UN E-MAIL I  El primer argumento para esta función es el destinatario,el segundo especifica el tema del mensaje y el tercero debe contener el cuerpo del mensaje.Para enviar un mensaje,podríamos utilizar el siguiente script: 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva <?php $to = “asir@sanseba.com”; $subject = “Novedades!"; $body = "Hola,nnComienzo de las clases"; if (mail($to, $subject, $body)) { echo("<p>Mensaje enviado!</p>"); } else { echo("<p>El mensaje no enviado...</p>"); } ?>
  23. 23. ENVIAR UN E-MAIL II <form action="mailto: asir@sanseba.com" method=post> Tu Nombre: <input type=text name=nombre size=30> Tu Password: <input type=password name=clave size=8><p> Archivos a enviar: <input type=checkbox name=archivo value="Manual de HTML"> Manual de HTML <input type=checkbox name=archivo value="Manual de PHP"> Manual de PHP<p> Tu edad<p> <input type=radio name=edad value="-20">Menos de 20 años<p> <input type=radio name=edad value="20-40">Entre 20 y 40 años<p> <input type=radio name=edad value="+40">Mas de 40 años<p> <input type=hidden name=lugar value="pagina personal"> Como encontraste mi página: <select name=donde> <option> De casualidad <option> Por el buscador Google <option> Por el buscador Yahoo <option> Me la comentaron </select><p> Tus Comentarios:<br> <textarea name=comentario rows=5 cols=40 wrap=virtual></textarea><p> <input type=submit value="Enviar"> <input type=reset value="Borrar"> </form> 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva
  24. 24. ENVIAR UN E-MAIL 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva Actividad:Realizar Formulario3
  25. 25. 2.4 FORMULARIOS FIN DE LA PRESENTACIÓN Gracias 04/11/2016 . Implantación deAplicaciones WEB JJ Taboada León IES San Sebastián Huelva 25

×