RETO MES DE ABRIL .............................docx
2 4 formularios_php
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. 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. 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. 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. 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. 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. 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. 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. 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
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. 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. 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. 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. 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. 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. ENVIAR UN E-MAIL
04/11/2016
. Implantación deAplicaciones WEB JJ
Taboada León IES San Sebastián Huelva
Actividad:Realizar Formulario3
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