You are on page 1of 21

CAPITULO IV DESARROLLO WEB CON PHP 1

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com


Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16

CAPTULO 4.
OBJETOS Y FORMULARIOS EN PHP
NDICE DE CONTENIDOS
NDICE:

- Mtodos GET, POST

Formularios en PHP

- FORM (Formularios)
- HIDDEN
- TEXT TEXTBOX (Caja de Texto)
- TEXTAREA (Caja de Texto mistilneas)
- BUTTON O SUBMIT
- INPUTS
- RADIO
- CHECKBOX
- SELECT O COMBOBOX


Los Objetos o Controles en PHP para su manejo
CAPITULO IV DESARROLLO WEB CON PHP 2

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
PHP - LECCIN 10:
LOS FORMULARIOS
ENVO Y RECEPCIN DE DATOS
El lenguaje PHP nos proporciona una manera sencilla de manejar formularios,
permitindonos de esta manera procesar la informacin que el usuario ha introducido.
Esto lo hacemos con la palabra reservada FORM.
Al disear un formulario debemos indicar la pgina PHP que procesar el formulario,
as como en mtodo por el que se le pasar la informacin a la pgina, en el Ejemplo
usamos el Mtodo GET.
Ejemplo:
Archivo: EjemploMetodoGet.Php5
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<html>
<head>
<title>Ejemplo de Procesado de Formularios</title>
</head>
<body>
<H1>Ejemplo de Envio de Datos Mtodo GET PHP</H1>
Introduzca su Nombres:

<FORM ACTION="procesaMetodoGet.phtml" METHOD="GET">
<INPUT TYPE="text" NAME="nombre"><BR>
Introduzca Apellidos:<BR>
<INPUT TYPE="text" NAME="apellidos"><BR>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</body>
</html>

Al pulsar el botn Enviar el contenido de cuadro de texto es enviado a la pgina que
indicamos en el atributo ACTION de la etiqueta FORM.

En versiones anteriores a 4.2.0 PHP creaba una variable por cada elemento del FORM,
esta variable creada tena el mismo nombre que el cuadro de texto de la pgina anterior
y el valor que habamos introducido. Pero por razones de seguridad a partir de entonces
para acceder a las variables del formulario hay que usar el array de parmetros
$_POST[] o $_GET[] dependiendo del mtodo usado para enviar los parmetros.
En este ejemplo se ha creado una entrada en el array $_GET[] con el ndice 'nombre' y
con el valor que haya introducido el navegante.

CAPITULO IV DESARROLLO WEB CON PHP 3

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
El resultado del Script con el mtodo GET podemos ver sus parmetros pasados ya que
estn codificados en la URL.
Archivo: ProcesaMetodoGet.Phtml (Pude ser cualquier archivo con extensin
WEB, Html, Php, etc.)

<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<html>
<head>
<title>Ejemplo de Procesado Mtodo GET en PHP</title>
</head>
<body>
<H1>Ejemplo de Recepcin de Datos a Mtodo GET en PHP</H1>

Los Nombres y Apellidos enviados por GET: <br>
<?php
echo "Sus Nombres y Apellidos Son: ".$_GET['nombre']," ",$_GET['apellidos']
?>
</body>
</html>

MTODOS GET Y POST

En la pgina anterior hemos comentado que los datos de un formulario se enva
mediante el mtodo indicado en el atributo METHOD de la etiqueta FORM, los dos
mtodos posibles son GET y POST.

La diferencia entre estos dos mtodos radica en la forma de enviar los datos a la
pgina, mientras que el mtodo GET enva los datos usando la URL, el mtodo
POST los enva por la entrada estndar STDIO.

Archivo: EjemploMetodoPost.Php5

<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<html>
<head>
<title>Ejemplo de Procesado de Formulario</title>
</head>

<body>
<H1>Ejemplo de Envio de Datos Metodo POST</H1>

Introduzca su Nombres:
<FORM ACTION="procesaMetodoPost.phtml" METHOD="POST">
<INPUT TYPE="text" NAME="nombre"><BR>
Introduzca Apellidos:<BR>
<INPUT TYPE="TEXT" NAME="Apellidos"><BR>
<INPUT TYPE="SUBMIT" VALUE="Enviar">
</FORM>
</body>
CAPITULO IV DESARROLLO WEB CON PHP 4

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
</html>


Archivo: ProcesaMetodoPost.Phtml

<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<html>
<head>
<title>Ejemplo de Procesado Mtodo POST en PHP</title>
</head>
<body>
<H1>Ejemplo de Recepcin de Datos a Mtodo POST en PHP</H1>

Los Nombres y Apellidos enviados por POST: <br>
<?php
echo "Sus Nombres y Apellidos Son: ".$_POST['nombre']," ", $_POST['apellidos']
?>
</body>
</html>

El resultado final es el mismo, solo que con el mtodo POST no podemos ver los
parmetros pasados ya que estn codificados en la STDIO. Por tanto ms efectivo a la
hora de enviar datos por la web.

Observa que el nombre de los scripts creados en .php, es el que debe llevar FORM
ACTION, para que pueda ser procesado.

La instruccin $_REQUEST[Boton] de PHP, devuelve el contenido que tiene el botn
SUBMIT, que en caso de ejecutarse por primera vez la pgina, no contendr ningn
valor.
Por lo tanto se mostrar el formulario (el campo Text con el Botn), porque la
condicin del if es Falsa.
Una vez ingresado el texto y presionado el Botn, la instruccin
$_REQUEST[Boton] tendr un valor y la condicin dentro del if, ser verdadera, ya
que ser distinto de nada ("").

La lnea siguiente, imprime la leyenda: El Apellido Ingresado es: conjuntamente con lo
rescatado por: $_REQUEST[Apellido], que contiene el dato del Apellido ingresado.

En definitiva, la instruccin $_REQUEST se utiliza para capturar el contenido de
los objetos descriptos en el formulario.

El pasaje de los valores del formulario se puede realizar por dos mtodos distintos, que
son METHOD = "GET" y METHOD = "POST".

Cuando se utiliza el mtodo GET, todos los valores son pasados en la URL del
navegador y pueden ser observados en la misma.
CAPITULO IV DESARROLLO WEB CON PHP 5

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
Al utilizar el mtodo POST los valores son enviados por la entrada estndar
STDIO y no son visibles en la URL del navegador.

OBJETOS CONTROLES EN PHP
FORMULARIOS
Este punto es especialmente importante: si aprendemos correctamente a manipular todos
los objetos o controles de un formulario, podremos hacer funciones que nos permitan
validarlo antes de enviar estos datos a un servidor, ahorrndole la faena de tener que
verificar la correccin de los datos enviados.
PROPIEDADES:
FORM
action:

Es una cadena que contiene la URL del parmetro ACTION del form, es
decir, la direccin en la que los datos del formulario sern procesados.
elements:

Es un array que contiene todos los elementos del formulario, en el
mismo orden en el que se definen en el documento HTML. Por ejemplo, si en el
formulario hemos puesto, en este orden, una caja de texto, un checkbox y una
lista de seleccin, la caja de texto ser elements[0], el checkbox ser elements[1]
y la lista de seleccin ser elements[2].
encoding:

Es una cadena que tiene la codificacin mime especificada en el
parmetro ENCTYPE del form.
method:
MTODOS:
Es una cadena que tiene el nombre del mtodo con el que se va a
recibir/procesar la informacin del formulario (GET/POST).
reset():

Resetea el formulario: tiene el mismo efecto que si pulsramos un botn
de tipo RESET dispuesto en el form.
submit(): Enva el formulario: tiene el mismo efecto que si pulsramos un botn
de tipo SUBMIT dispuesto en el form.
Gracias a este objeto podemos almacenar informacin extra en el formulario de forma
completamente transparente para el usuario, pues no se ver en ningn momento que
tenemos estos campos en el documento.
Es parecido a un campo de texto (objeto text) salvo que no tiene valor por defecto (no
tiene sentido pues el usuario no va a modificarlo) y que no se puede editar.
HIDDEN
CAPITULO IV DESARROLLO WEB CON PHP 6

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
PROPIEDADES:
name: Es una cadena que contiene el valor del parmetro NAME

.
value: Es una cadena que contiene el valor del parmetro VALUE

.
PROPIEDADES O ATRIBUTOS:
TEXT Y PASSWORD:

El control "TEXT" utilizado en los ejemplos anteriores nos permite Ingresar Texto que
ser procesado por la web, para devolver un resultado segn sea el caso de uso, con los
formularios y sus mtodos.

dafaultvalue:

Es una cadena que contiene el valor por defecto que se le ha dado
a uno de estos objetos por defecto.
name: Es una cadena que contiene el valor del parmetro NAME

.
value: Es una cadena que contiene el valor del parmetro VALUE

.
maxlength:
MTODOS
Nmero mximo de caracteres que puede contener el campo de
texto.
blur():

Pierde el foco del ratn sobre el objeto especificado.
focus():

Obtiene el foco del ratn sobre el objeto especificado.
select():
SINTAXIS:

<INPUT TYPE="TEXT" NAME="MI_TEXT">


EJEMPLO:

<INPUT TYPE="TEXT" NAME="txtnombre">

Selecciona el texto dentro del objeto dado.

TEXTAREA:

El control "TEXTAREA" se diferencia del "TEXT" en que permite el ingreso de
muchas lneas.

J unto a la TAG de apertura pueden aparecer los siguientes atributos:
name:

(Nombre del campo).
Cols:

(Numero de columnas de texto visible).
Rows: (Numero de filas de texto visible).
CAPITULO IV DESARROLLO WEB CON PHP 7

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16


SINTAXIS:
<textarea id="textarea_comunicacion" name="comunicacion" rows="10"
cols="50"></textarea>

La id es exactamente igual que en los casos anteriores, con name vamos a definir el
nombre de la variable que vamos a levantar con PHP via POST, rows es el nmero de
filas que queremos que tenga nuestro campo y cols es el ancho.

Entre los TAGS <textarea> y </textarea> se puede incluir un texto para que aparezca
por defecto.


EJEMPLO:
<Html>
<form>
<textarea id="textarea_comunicacion" name="comunicacion" rows="5"
cols="50">Escribe aqu lo que quieras</textarea>
</form>
</Html>


<Html>
<form>
<textarea id="comentario" name="comentario" rows="10" cols="30">
texto default si deseamos
</textarea>
</form>
</Html>

Lo probaremos implementando en los ejemplos prcticos.

BUTTON, SUBMIT (BOTON DE COMADOS):

Tenemos tres tipos de botones: un botn genrico, 'button', que no tiene accin
asignada, y dos botones especficos, 'submit' y 'reset'. Estos dos ltimos s que tienen
una accin asignada al ser pulsados: el primero enva el formulario y el segundo limpia
los valores del formulario.

El control " SUBMIT " utilizado en los ejemplos nos permite Enviar una Accin,
Mandato o mtodo, para que se procese los datos enviados a la web del lado del cliente,
la Accin en este caso es CLIC, la cual se activa al pulsar con el mouse sobre el botn
SUBMIT del formulario creado.

CAPITULO IV DESARROLLO WEB CON PHP 8

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
PROPIEDADES:
name: Es una cadena que contiene el valor del parmetro NAME

.
value: Es una cadena que contiene el valor del parmetro VALUE

.
type: Seguido de submit para enviar los datos del formulario y seguido de reset
MTODOS:

para borrar los datos que se han introducido.
click():

SINTAXIS:

<INPUT TYPE="SUBMIT" NAME="MI_NOMBRE" VALUE="MI_VALOR">

EJEMPLO:

<INPUT TYPE="SUBMIT" NAME="btncalcular" VALUE="Calcular">


Realiza la accin de pulsado del botn

INPUTS
Son campos regularmente para el ingreso de texto, son los que vemos en los formularios
de contacto para ingresar nombre, correo electrnico, etc.
type:
o
Indicar el tipo de variable a introducir.
text:

Indica que el campo a introducir ser un texto. Sus atributos:
maxlenght:

Seguido de un valor que limitar el nmero mximo
de carcteres a introducir en ese campo.
Size:

Seguido de un valor que limitar el numero de caracteres a
mostrar en pantalla.
value:
o
Indica que no hay valor inicial del campo.
Password: Indica que el campo a introducir ser una palabra de paso.
Mostrar asteriscos en lugar de letras escritas. Sus atributos sern los
mismos que para text
o
.
Checkbox:

El campo se elegir marcando de entre varias opciones una
casilla cuadrada.
Value:

Entre comillas se indicar el valor de la casilla.
Checked:
o
La casilla aparecer marcada por defecto.
Radio:

El campo se elegir marcando de entre varias opciones una
casilla circular.
Value:
o
Entre comillas se indicar el valor de la casilla.
Image:

El campo contendr el valor en coordenadas del punto de la
imagen que haya pinchado. Atributo obligatorio:
Src: Entre comillas escribiremos el nombre del archivo de
imagen.
CAPITULO IV DESARROLLO WEB CON PHP 9

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
o hidden:

El visitante no puede modificar su valor ya que no est visible.
Se manda siempre junto al atributo value=seguido de su valor entre
comillas.
Name:

SINTAXIS:
Indicar el nombre que se asigna a un determinado campo.
<html>
<form>
<label for="nombre_campo">Texto</label>
<input id="nombre_campo" type="text" name="nombre" value="texto_default" />
</form
<
>
</html>
La primera lnea label sirve para identificar el nombre del campo que le sigue, es
adems la etiqueta que aparece para que el usuario sepa qu dato se le est pidiendo que
llene aunque no es necesario encerrarlo en una etiqueta label.

Otra variante de este Input es el de tipo password que hace que el texto que se escribe
en el sea reemplazado por smbolos como proteccin:
input id="contrasea" type="password" name="contrasea" value=
<
""" />
Y tambin podemos ocultar stos campos de texto colocndole el type=hidden lo cual
nos sirve para enviar alguna informacin ya predefinida junto a todo lo que el usuario
ingrese.
input type="hidden" name="contador" value=
<
"350 />
El ltimo tipo de input que veremos es el submit que es el botn que regularmente
hacemos click para poder enviar un formulario con la informacin que llenamos.
<html>
form name="input" action="programa.php" method="get"
<
>
Nombre:
input type="text" name="nombre" /
<
>
input type="submit" value="Enviar" /
<
>
/form>
</html>


Los controles de tipo Radio son los que vemos que tienen una forma redonda y se
pueden utilizar para preguntar opciones de tipo falso/verdadero, masculino/femenino,
etc. y en donde solo puede estar seleccionada una de las opciones.
RADIO (RADIOBUTTON)
CAPITULO IV DESARROLLO WEB CON PHP 10

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
Checked nos sirve para indicar que queremos que ese campo aparezca seleccionado
desde un inicio.
Los objetos radio slo nos permiten elegir una de entre todas las que hay. Estn
pensados para posibilidades mtuamente excluyentes (no se puede ser a la vez mayor de
18 aos y menor de 18 aos, no se puede estar a la vez soltero y casado, etc.).
PROPIEDADES:
checked:

Valor booleano que nos dice si el radio est seleccionado o no.
defaultChecked:

Valor booleano que nos dice si el radio debe estar
seleccionado por defecto o no.
length:

Valor numrico que nos dice el nmero de opciones dentro de un grupo
de elementos radio.
name: Es una cadena que contiene el valor del parmetro NAME

.
value: Es una cadena que contiene el valor del parmetro VALUE
Hay que recordar que para agrupar elementos de tipo radio, todos ellos deben tener el
mismo valor en
.
NAME
MTODOS:
.
click():
EJEMPLO:
<html>
Realiza la accin de pulsado del botn.
<form>
<label for="nombre_input">Masculino</label>
<input type="radio" name="sexo" value="masculino" checked="checked"/
<
>
label for="nombre_input">Femenino</label>
<input type="radio" name="sexo" value="femenino" /
<
>
/form>
</html>

PROPIEDADES:
CHECKBOX (CAJA DE VERIFICACIN)
Estos controles son usados cuando se necesita que se pueda seleccionar una o ms
opciones de las que se presentan, o tambin cuando solo se presenta una opcin y
necesitamos que el usuario la marque por ejemplo para poder continuar con algn
proceso.
Los "checkboxes" nos permiten seleccionar varias opciones marcando el cuadrito que
aparece a su izquierda. El cuadrito pulsado equivale a un "s" y sin pulsar a un "no" o, lo
que es lo mismo, a "true" o "false" (Verdadero o Falso).
checked: Valor booleano que nos dice si el checkbox est pulsado o no
CAPITULO IV DESARROLLO WEB CON PHP 11

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
defaultChecked:

Valor booleano que nos dice si el checkbox debe estar
seleccionado por defecto o no
name: Es una cadena que contiene el valor del parmetro NAME

.
value: Es una cadena que contiene el valor del parmetro VALUE
MTODOS:
.
click():
<Html>
Realiza la accin de pulsado del botn.
<form>
<H2>
Mac OS .
<input type="checkbox" name="sistema" value="mac" checked="checked"/
<
>
br /
<
>
Windows
input type="checkbox" name="sistema" value="windows" /> <br /
<
>
Apple
<input type="checkbox" name="sistema" value="apple" /> <br/>
Linux
input type="checkbox" name="sistema" value="linux" /
<
>
/form>
</Html>
El campo value puede contener tambin nmeros.
Este objeto representa una lista de opciones dentro de un formulario. Puede tratarse de
una lista desplegable de la que podremos escoger alguna (o algunas) de sus opciones.
SELECT COMBOBOX
PROPIEDADES:
length:

Valor numrico que nos indica cuntas opciones tiene la lista
name: Es una cadena que contiene el valor del parmetro NAME


options:
o
Se trata de un array que contiene cada una de las opciones de la lista.
Este array tiene, a su vez, las siguientes propiedades:
defaultSelected:
o
Valor booleano que nos indica si la opcin est
seleccionada por defecto.
index:
o
Valor numrico que nos da la posicin de la opcin dentro de la
lista.
length:
o
Valor numrico que nos dice cuntas opciones tiene la lista.
options:
o
Cadena con todo el cdigo HTML de la lista.
selected:
o
Valor booleano que nos dice si la opcin est actualmente
seleccionada o no.
text:
o
Cadena con el texto mostrado en la lista de una opcin concreta.
value: Es una cadena que contiene el valor del parmetro VALUE de la
opcin concreta de la lista.
CAPITULO IV DESARROLLO WEB CON PHP 12

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
selectedIndex

: Valor numrico que nos dice cul de todas las opciones
disponibles est actualmente seleccionada.
Size:

Indicar el nmero de opciones visibles. Si le asignamos 1, la seleccin se
presentar como un men desplegable. Si le asignamos un valor mayor se
presentar como una lista con barra de desplazamiento.
multiple:
EJEMPLO:
<HTML>
<BODY>
<FORM ACTION="Frmprocombo.phtml" name="formulario" id="formulario"
method="POST">

Edad:<br>
<select name="edad">
<option value="<18" SELECTED>Menor de 18 aos</option>
<option value=">18 y <60">Entre 18 y 60 aos</option>
<option value=">60">Mayor de 60 aos</option>
</select>

</form>
</BODY>
</HTML>
Implementar el Script para mostrar los resultados de la opcin seleccionada.
Indica si se pueden realizar mltiples selecciones.
CAPITULO IV DESARROLLO WEB CON PHP 13

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
RESUMEN
Aqu las SINTAXIS de uso de los diferentes controles u objetos en PHP.
Cuadro de texto:
<input type="text" name="nombre" size="20" value="jose">
Cuadro de texto con barras de desplazamiento:
<textarea rows="5" name="descripcion" cols="20">Es de color rojo</textarea>
Casilla de verificacin:
<input type="checkbox" name="cambiar" value="ON">
Botn de opcin:
<input type="radio" value="azul" checked name="color">
Men desplegable:
<select size="1" name="dia">
<option selected value="lunes">lunes</option>
<option>martes</option>
<option value="miercoles">mircoles</option>
</select>
Boton de comando:
<input type="submit" value="enviar" name="enviar">
Campo oculto:
<input type="hidden" name="edad" value="55">
Este ltimo tipo de campo resulta especialmente til cuando que remos pasar datos
ocultos en un formulario.
Como habrs observado todos los tipos de campo tienen un modificador llamado name,
que no es otro que el nombre de la variable con la cual recogeremos los datos en el
script indicado por el modificador ACTION de la etiqueta FORM, con value
establecemos un valor por defecto.
EJEMPLOS PRCTICOS:
CAPITULO IV DESARROLLO WEB CON PHP 14

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
1.- Ingresar por medio de un formulario el nombre de una persona y el peso que le
corresponde. Posteriormente mostrar las leyendas segn los siguientes puntos:

Si el peso es menor o igual a 50, mostrar "Su Peso es Deficiente".
Si el peso es mayor a 50 y menor o igual a 80, mostrar "Su Peso es Normal".
Si el peso es mayor a 80, mostrar "Se ha Excedido de Peso"

SOLUCIN CON UN SOLO SCRIPT:
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<Html>
<Body>
<?PHP
if ( $_REQUEST['btnmostrar'] != "" )
{ if ($_REQUEST['Peso']<=50)
echo "Su Peso es Deficiente";
elseif ($_REQUEST['Peso']>50 && $_REQUEST['Peso']<=80)
echo "Su Peso es Normal";
else
echo "Se ha Excedido de Peso";
}
else
{
?>

<FORM ACTION="FrmPeso.php5" METHOD="POST">
Nombre: <INPUT TYPE="TEXT" NAME="Nombre" size="25"> <Br>
Peso(Kg): <INPUT TYPE="TEXT" NAME="Peso" size="10">
<Br><INPUT TYPE="SUBMIT" NAME="btnmostrar" VALUE="Ingresar
Datos">
</FORM>
<?PHP
}
?>
</Body>
</Html>

Nota: Tener en cuenta que para que el programa funcione correctamente, debe ser grabado
como FrmPeso.php5, ya que ese es el nombre que se dio en el FORM ACTION.

En muchos casos se debe tener la seguridad de que el usuario halla ingresado los datos al
presionar el botn de entrada, para ello se debe comprobar que los campos estn completos. Hay
varias formas de realizar esto, lo ms sencillo es disponer de dos formularios, uno para el
ingreso de los datos y el otro para mostrar una leyenda (indicando que falta completar los datos)
y un botn para retornar al formulario de ingreso de datos, como se muestra en el siguiente
ejemplo.



El ejemplo anterior trabajado con tablas y con Action del $_Server:
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
CAPITULO IV DESARROLLO WEB CON PHP 15

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
<Html>
<Body>
<?PHP
if(isset($_POST['btnmostrar']))
{
if ($_REQUEST['Peso']<=50)
{ echo "Su Peso es Deficiente";}
elseif ($_REQUEST['Peso']>50 && $_REQUEST['Peso']<=80)
{ echo "Su Peso es Normal";}
else
{echo "Se ha Excedido de Peso";
}
}
else
{
?>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF'];?>"
METHOD="POST">
<table border="0">
<tbody>
<tr>
<td>Nombre: </td>
<td><INPUT TYPE="TEXT" NAME="Nombre" size="25"></td>
</tr>
</tbody>
<tbody>
<tr>
<td>Peso(kg): </td>
<td><INPUT TYPE="TEXT" NAME="Peso" size="10"></td>
</tr>
</tbody>
<tbody>
<tr>
<td></td>
<td><INPUT TYPE="SUBMIT" NAME="btnmostrar" VALUE="Ingresar
Datos"></td>
</tr>
</tbody>
</table>
</FORM>

<?PHP
}
?>
</Body>
</Html>

CAPITULO IV DESARROLLO WEB CON PHP 16

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
2.- Permitir el ingreso de los datos de una persona (Nombre, DNI y Sueldo),
teniendo en cuenta que el Nombre y el DNI deben ser obligatorios. Si faltara
alguno de ellos volver al formulario de ingreso.
Si los campos estn completos, procesar el sueldo de la siguiente manera, si es
mayor a 2000, mostrar la leyenda "Sueldo Eficiente", de lo contrario mostrar
"Sueldo Ineficiente". Observar la presentacin.

<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<Html>
<TITLE> Form Datos Requeridos </TITLE>
<Body>
<?PHP
if ( $_REQUEST['btnmostrar'] !="" ) //es ms efectivo (isset( $_POST
['btnmostrar'])) o (isset($_REQUEST['btnmostrar']))
{
$Nombre = $_REQUEST["Nombre"];
$Dni = $_REQUEST["Dni"];
$Sueldo = $_REQUEST["Sueldo"];
if ($Nombre=="" || $Dni=="" )
{
echo "<H3>";
echo "Falta ingresar algn dato <Br>";
echo "Los datos marcados con (*) son obligatorios<Br>";
echo "Pulse el boton para volver al formulario de Ingreso<Br>";
?>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF'];?>"
METHOD="POST">
<INPUT TYPE="SUBMIT" NAME="btnvolver" VALUE="Volver">
<?PHP
}
else
{
// Procesar de los datos
echo "<H2>";
if ($Sueldo>2000)
echo $Nombre. " tiene un Sueldo Eficiente";
else
echo $Nombre. " tiene un Sueldo Ineficiente";
}
}
else
{
?>
<H2>
Formulario de Ingreso de Datos
<Hr>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF'];?>"
METHOD="POST">
(*)Nombre: <INPUT TYPE="TEXT" NAME="Nombre" size="25">
CAPITULO IV DESARROLLO WEB CON PHP 17

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
<Br>
(*)DNI: <INPUT TYPE="TEXT" NAME="Dni" size="20">
<Br>
Sueldo: <INPUT TYPE="TEXT" NAME="Sueldo" size="15">
<Br><Br>
Los campos marcados con (*) son obligatorios.
<Br><Br>
<INPUT TYPE="SUBMIT" NAME="btnmostrar" VALUE="Ingresar Datos">
</FORM>
<?PHP
}
?>
</Body>
</Html>
Comentario:

Al comienzo del programa se pregunta si la instruccin $_REQUEST['boton1'] tiene
asignado algn valor, en este caso, por ser la primera vez que se ejecuta esta pgina,
ser falso, por lo tanto el programa se transfiere al else del if, mostrando el formulario
de carga de datos.
Una vez ingresado los datos y presionado el botn1, la pgina se llama a s misma y la
pregunta inicial ser verdadera, ya que la instruccin $_REQUEST['boton1'] tendr
ahora asignado un valor.
Se contina con la asignacin a cada una de las variables de los respectivos campos y
comprobando que los campos estn completos, esto se logra utilizando la lnea:
if ($Nombre=="" || $Dni=="" )
La cual verifica si el nombre o el dni no contienen datos. De ser as, se enva una
leyenda indicando tal situacin y que deben completarse, luego se realiza un pequeo
formulario que llama a la misma pgina y que contiene un botn nicamente. Al
presionarse el botn2, se ejecuta nuevamente la pgina desde el principio realizndose
la pregunta inicial.
Si la pregunta inicial es verdadera y los campos estn completos, el programa se
transfiere a procesar los datos ingresados, en este caso, se utiliza nicamente el sueldo,
emitiendo las leyendas correspondientes, de acuerdo al enunciado del problema.







CAPITULO IV DESARROLLO WEB CON PHP 18

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
Aqu el Cdigo Efectivo del ejemplo Anterior.
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<Html>
<TITLE> Form Datos Requeridos </TITLE>
<Body>
<?PHP
//tambien se puede usar (isset($_REQUEST['btnmostrar']))
if (isset($_POST['btnmostrar']))
{
$Nombre = $_REQUEST["Nombre"];
$Dni = $_REQUEST['Dni'];
$Sueldo = $_REQUEST['Sueldo'];
if ($Nombre=="" || $Dni=="" )
{
echo "<H3>";
echo "Falta ingresar algn dato <Br>";
echo "Los datos marcados con (*) son obligatorios<Br>";
echo "Pulse el boton para volver al formulario de Ingreso<Br>";
?>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF'];?>" METHOD="POST">
<INPUT TYPE="SUBMIT" NAME="btnvolver" VALUE="Volver">
<?PHP
}
else
{
// Procesar de los datos
echo "<H2>";
if ($Sueldo>2000)
echo "$Nombre, tiene un Sueldo Eficiente";
else
echo $Nombre.", tiene un Sueldo Ineficiente";
}
}
else
{
?>
<H2>
Formulario de Ingreso de Datos
<Hr>
<FORM ACTION="<?php echo $_SERVER['PHP_SELF'];?>" METHOD="POST">
(*)Nombre: <INPUT TYPE="TEXT" NAME="Nombre" size="25">
<Br>
(*)DNI: <INPUT TYPE="TEXT" NAME="Dni" size="20">
<Br>
Sueldo: <INPUT TYPE="TEXT" NAME="Sueldo" size="15">
<Br><Br>
Los campos marcados con (*) son obligatorios.
<Br><Br>
<INPUT TYPE="SUBMIT" NAME="btnmostrar" VALUE="Ingresar Datos">
</FORM>
<?PHP
}
?>
</Body>
</Html>
CAPITULO IV DESARROLLO WEB CON PHP 19

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
3.- EJEMPLO TEXTAREA
El control "TEXTAREA" se diferencia del "text" en que permite el ingreso de muchas
lneas.
Lo probaremos implementando un problema que permita ingresar el curriculum de una
persona.
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<html>
<head>
<title>Problema</title>
</head>
<body>
<FORM ACTION ="<? PHP echo $_server['PHP_SELF']; ?>" method="post">
Ingrese nombre:<input type="text" name="nombre"><br>
Ingrese su curriculum:<br>
<textarea name="curriculum"></textarea>
<br>
<input type="submit" value="Confirmar">
</form>
</body>
</html>

La sintaxis de este control es bastante diferente a la del control text:
<textarea name="curriculum"></textarea>

Si queremos que aparezca inicializado con texto debemos disponerlo en:
<textarea name="curriculum">Hola Mundo</textarea>

La pgina PHP que procesa los dos datos ingresados en el formulario es:
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<html>
<head>
<title>SU CURRICULUM</title>
</head>
<body>
<?php
echo "El nombre ingresado:".$_REQUEST['nombre'];
echo "<br>";
echo "El curriculum:".$_REQUEST['curriculum'];
?>
</body>
</html>





CAPITULO IV DESARROLLO WEB CON PHP 20

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
4.- Ejemplo que Integra los controles Text, Select (ComboBox), CheckBox, Radio y
TextArea.
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<HTML>
<BODY>
<H2>
<FORM METHOD="post" ACTION="FrmVariadoR.php5">
<input type="hidden" name="edad" value="28">
<p>Tu nombre
<input type="text" name="nombre" size="30" value="Herberth"></p>
<p>Tu sistema favorito
<select size="1" name="sistema">
<option selected value="Linux">Linux</option>
<option value="Unix">Unix</option>
<option value="Macintosh">Macintosh</option>
<option value="Windows">Windows</option>
</select></p>
<p>Te gusta el futbol ?
<input type="checkbox" name="futbol" value="ON"></p>
<p>Cual es tu sexo?</p>

<blockquote>
<p>Hombre<input type="radio" value="Hombre" checked name="sexo"></p>
<p>Mujer <input type="radio" name="sexo" value="Mujer"></p>
</blockquote>

<p>Aficiones</p>
<p><textarea rows="5" name="aficiones" cols="28"></textarea></p>
<p><input type="submit" value="Enviar datos" name="enviar">

<input type="reset" value="Restablecer" name="B2"></p>
</FORM>
</BODY>
<HTML>

FrmVariadoR.php5
<!-- Scripts PHP Por: ING. HERBERTH ARANDA ROJAS -->
<?PHP
if (isset($_POST['enviar']))
{
echo "Hola <b>" . $_POST['nombre'] . "</b> que tal ests<BR>\n";
echo "Eres " . $_POST['sexo'] . "<BR>\n";
echo "Tienes " . $_POST['edad'] . "<BR>\n";
echo "Tu sistema favorito es " . $_POST['sistema'] . "<BR>\n";

if (isset($_POST['futbol']))
{
echo "Te gusta el futbol <BR>\n";
}
CAPITULO IV DESARROLLO WEB CON PHP 21

Ing. CIP Herberth Aranda Rojas hhharanda@yahoo.com
Porque de Tal manera Amo Dios al Mundo que ha dado a su Hijo Unignito para que Todo Aquel
que en El Crea No se Pierda Mas Tenga Vida Eterna. Jn, 3:16
else
{
echo "NO te gusta el futbol <BR>\n";
}

if ($_POST['aficiones'] != "")
{
echo "Tus aficiones son: <BR>\n";
echo nl2br($_POST['aficiones']);
}
else
{
echo "NO tienes aficiones <BR>\n";
}
}
echo "<BR><a href='FrmVariado.php5'>VOLVER AL FORMULARIO</a>"
?>

EXTENSIN CAPTULO IV


DESARROLLAR LOS SCRIPTS DE LA PRCTICA DIRIGIDA Y
CALIFICADA DEL CAPTULO.

1.- Crear el Script en PHP con controles para los casos compra del un cliente y
sueldo bsico de un cliente.
3.- Crear el Script para contar el nmero de vocales y consonantes contenidas en
una frase clebre ingresada.
4.- Crear un Script que muestre el nmero de vocales y consonantes para una frase
clebre con funciones definidas por el usuario para cada una.
5.- Crear un Script con funciones definidas por el usuario para calcular el rea de
un tringulo, cuadrado y el cubo.