Professional Documents
Culture Documents
2.2 FORMULARIOS
El lenguaje PHP nos proporciona una manera sencilla para enviar y recibir datos a travs de un formulario, para procesar la informacin que el usuario ha ingresado. El proceso para el manejo de FORMULARIOS requiere generalmente dos pginas, una que implementa el formulario y otra que procesa los datos cargados en el formulario.
Formularios
Los
Formularios no forman parte de PHP, sino del lenguaje estndar de Internet, HTML
Fichero uno.php
<HTML> <BODY> <FORM ACTION=dos.php METHOD=POST> Edad: <INPUT TYPE=text NAME=edad> <INPUT TYPE=submit VALUE=aceptar> </FORM> </BODY> </HTML>
Fichero dos.php
<HTML> <BODY> <?PHP print (La edad es: $edad); ?> </BODY> </HTML>
$edad = $_REQUEST[edad];
Fichero uno.php
<HTML> <BODY> <FORM ACTION=dos.php METHOD=POST> Edad: <INPUT TYPE=text NAME=edad> <INPUT TYPE=submit VALUE=aceptar> </FORM> </BODY> </HTML>
Fichero dos.php
<HTML> <BODY> <?PHP $edad = $_REQUEST[edad]; print (La edad es: $edad); ?> </BODY> </HTML>
Elemento SELECT
Simple / mltiple
Elemento TEXTAREA
TEXT
Introduzca la cadena a buscar: <INPUT TYPE="text" NAME="cadena" VALUE="valor por defecto" SIZE="20"> <?PHP $cadena = $_REQUEST[cadena]; print ($cadena); ?>
RADIO
Sexo: <INPUT TYPE="radio" NAME=sexo" VALUE=M CHECKED> Mujer <INPUT TYPE="radio" NAME=sexo" VALUE=H">Hombre
<?PHP echo "El material informtico que tengo es:","<br>"; "<br>"; echo $_ $_REQUEST ['pc'],"<br>"; echo $_ $_REQUEST['portatil'],"<br>"; echo $_ $_REQUEST['DVD'],"<br>"; ?>
BUTTON
<INPUT TYPE="button" NAME=actualizar" VALUE="Actualizar datos">
<?PHP $actualizar = $_REQUEST[ actualizar]; if ($actualizar) print ("Se han actualizado los datos"); ?>
FILE
<FORM ACTION="procesa.php" METHOD="post ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="fichero"> </FORM>
HIDDEN
<?PHP print(<INPUT TYPE=hidden NAME=username VALUE=$ usuario>\n); ?>
PASSWORD
Contrasea: <INPUT TYPE="password" NAME="clave">
SUBMIT
<INPUT TYPE="submit" NAME="enviar" VALUE="Enviar datos">
<?PHP $enviar = $_REQUEST[enviar]; if ($enviar) print ("Se ha pulsado el botn de enviar"); ?>
SELECT simple
Color: <SELECT NAME=color"> <OPTION VALUE=rojo" SELECTED>Rojo <OPTION VALUE=verde">Verde <OPTION VALUE=azul">Azul </SELECT>
SELECT mltiple
Idiomas: <SELECT MULTIPLE SIZE="3" NAME="idiomas[]"> <OPTION VALUE="ingles" SELECTED>Ingls <OPTION VALUE="frances">Francs <OPTION VALUE="aleman">Alemn <OPTION VALUE="holandes">Holands </SELECT>
<?PHP $idiomas = $_REQUEST[ idiomas]; foreach ($idiomas as $idioma) print ($idioma<BR>\n); ?>
TEXTAREA
Comentario: <TEXTAREA COLS=50" ROWS=4" NAME="comentario"> Este libro me parece ... </TEXTAREA>
El cdigo de cualquier formulario estar accesible slo con ir a la opcin Ver cdigo fuente y all estarn de nuevo todos los datos: nombre del script, nombres de las variables, etctera, 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 proteccin
Para saber si se ha enviado el formulario se acude a la variable correspondiente al botn de envo. Si este botn aparece de la siguiente forma en el formulario HTML:
<INPUT TYPE="SUBMIT" NAME="enviar VALUE="procesar">
o bien
if ($enviar == procesar)
funcin nos permite comprobar si una variable se ha definido y en ese caso devuelve un True. La sintaxis es isset($variable) Muy til para comprobar si se han rellenado los campos de un formulario
Ejemplo
Usando la funcin isset y el bloque if, realizar una comprobacin sobre una caja de texto cualquiera, advirtiendo al usuario en caso de que la caja se encuentre sin datos.
<?php if (isset($nombre) ){ echo "Hola $nombre, bienvenido a PHP";} else { echo "No has escrito nada"; } ?>
ENVIAR UN EE-MAIL I
El primer argumento para esta funcin es el destinatario, el segundo especifica el tema del mensaje y el tercero debe contener el cuerpo del mensaje. Para enviar un mensaje, podramos utilizar el siguiente script:
<?php <? $ $to = a-serv@unsl.edu.ar"; $ $subject = Novedades!"; $ $body = "Hi,\n\nComienzo de clases"; if (mail($to, $subject, $body)) { echo("<p>Message successfully sent!</p>"); } else { echo("<p>Message delivery failed...</p>"); } ?>
ENVIAR UN EE-MAIL II
<form action="mailto: gfuentes@unsl.edu.ar" 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
</form>
ENVIAR UN EE-MAIL
2.2 FORMULARIOS
FIN Gracias