Pecesama.Net [developing the future]
CICESE, Volcán de Colima, Iglesia de Cihuatlán, Ensenada y Manzanillo
 

 

Temas:

  Inicio PHP
  Introducción
  Lenguaje PHP
  Tipos de datos
  Control
  Arreglos
  Formularios
  Archivos
  Bases de datos
  PHP y MySQL
  PHP y ODBC
  Envió de email
  Attachments
  Sesiones
  Servicios Web

Donar:

Extras:

  Licencia

 

Formularios

Los Formularios no forman parte de PHP, sino del lenguaje estándar del web, HTML, pero como éstos van a aparecer muchas veces durante el curso,  vamos a dedicar esta algunas líneas a ellos.

Todo formulario comienza con la etiqueta <FORM ACTION="lo_que_sea.php" METHOD="post/get">. Con ACTION indicamos el script que va procesar la información que recogemos en el formulario, mientras que METHOD nos indica la forma en que se enviarán datos post o get. La etiqueta </FORM> indica el final del formulario.

A partir de la etiqueta <FORM> vienen los campos de entrada de datos que pueden ser:

  Botón de comando:

<input type="submit" value="enviar" name="enviar">

  Cuadro de texto:

<input type="text" name="nombre" size="20" value="jose">

Veamos un ejemplo con PHP:

Las siguientes dos paginas tienen el objetivo de  preguntar cual es tu equipo de fútbol favorito y desplegar en otra pagina el seleccionado (equipo.htm y equipo.php).

equipo.htm

<html>

<title>Equipo Favorito</title>

<body>

<form method="post" ACTION="equipo.php">

Cual es tu equipo de fútbol favorito ?

<input name="equipo" type "TEXT">

<br>

<br>

<input type=submit>

</form>

</body>

<html>

equipo.php

<html>

<body>

Tu equipo favorito es:

<?php Echo "<h1><B>".$_POST["equipo"]."</B></h1>"; ?>

</body>

</html>

Hay que poner especial atención en el parámetro name de un elemento del formulario ya que es el mismo nombre con el que se le referenciará en php mediante el objeto $_POST, como pudimos ver en el ejemplo anterior el elemento <input name="equipo" type "TEXT"> lo manejamos en php como $_POST["equipo"], así es con todos los elementos de formularios enviados por el método "POST" si el formulario se envia por el método "GET", habra que usar el objeto $_GET.

  Cuadro de texto con barras de desplazamiento:

<textarea rows="5" name="descripcion" cols="20">Es de color rojo</textarea>

Ahora veamos un ejemplo con PHP:

            Programa PHP que pide WebSites favoritos y los muestra como salida (sites.htm y sites.php).

sites.htm

<html>

<title>Web Sites Favoritos</title>

<body>

<form method="POST" ACTION="sites.php">

Mencióname algunos de tus WebSites Favoritos:

<br>

<textarea name="websites" cols="50" rows="5">

http://

http://

http://

http://

</textarea>

<br>

<br>

<input type=submit>

</form>

</body>

<html>

sites.php

<html>

<body>

Tus webs favoritos son:<br>

<?php Echo "<h3><B>".$_POST["websites"]."</B></h3>"; ?>

</body>

</html>

  Casilla de verificación o checkbox:

<input type="checkbox" name="cambiar" value="ON">

Ahora veamos un ejemplo con PHP:

Programa que pregunta lo que haces al levantarte y lo despliega como salida (checkboxes.htm y checkboxes.php).

checkboxes.htm

<HTML>

<HEAD></HEAD>

<BODY>

<FORM METHOD="POST" ACTION="checkboxes.php">

Qué haces en cuanto te levantas?<br><br>

Lavarme la cara<INPUT NAME="sel1" TYPE="Checkbox" VALUE="Lavarse la Cara"><BR>

Asearse la boca<INPUT NAME="sel2" TYPE="Checkbox" VALUE="Asearse los dientes"><BR>

Desayunar<INPUT NAME="sel3" TYPE="Checkbox" VALUE="Desayunar" ><BR>

<BR>

<INPUT TYPE=SUBMIT>

</FORM>

</BODY>

</HTML>

checkboxes.php

<html>

<body>

<?php

if (isset($_POST["sel1"]))

 echo $_POST["sel1"]." <br>";

if (isset($_POST["sel2"]))

 echo $_POST["sel2"]."<br>";

if (isset($_POST["sel3"]))

 echo $_POST["sel3"]."<br>";

?>

</body>

</html>

 Botón de radio u opción:

<input type="radio" value="azul" checked name="color">

Ahora veamos un ejemplo con PHP:

        Programa que nos presenta una suma, nosotros tenemos que elegir la respuesta entre tres opciones posibles y la salida nos muestra la opción que elegimos (radio.htm y radio.php).

radio.htm

<HTML>

<BODY>

<FORM METHOD="GET" ACTION="radio.php">

Cuantos son 2 + 2?

<BR>

<BR>

<INPUT NAME="Resp" TYPE="Radio" VALUE="44">44

<BR>

<INPUT NAME="Resp" TYPE="Radio" VALUE="22">22

<BR>

<INPUT NAME="Resp" TYPE="Radio" VALUE="4">4

<BR>

<BR>

<INPUT TYPE=SUBMIT>

</FORM>

</BODY>

radio.php

<HTML>

<BODY>

<?php Echo "seleccionaste ".$_GET["Resp"];?>

</BODY>

</HTML>

  Menú desplegable:

<select size="1" class="codigo"><select size="1" name="dia">

<option selected value="lunes">lunes</option>

<option>martes</option>

<option value="miercoles">miercoles</option>

</select> 

Ahora veamos un ejemplo en PHP:

        Programa que pregunta opciones para armar una computadora y despliega las opciones elegidas (lista.htm y lista.php).

lista.htm

<HTML>

<HEAD></HEAD>

<BODY>

<FORM METHOD="GET" ACTION="lista.php">

Elije la computadora a comprar

<BR>

<BR>

<SELECT NAME="compu">

<OPTION>Pentium</OPTION>

<OPTION>Celeron</OPTION>

<OPTION>K6</OPTION>

<OPTION>MAC</OPTION>

</SELECT>

<BR>

<BR>

Selecciona los dispositivos de la computadora?

<BR>

<BR>

<SELECT NAME="dispo[]" MULTIPLE>

<OPTION>KIT MULTIMEDIA</OPTION>

<OPTION>QUEMADORA</OPTION>

<OPTION>WEB CAM</OPTION>

<OPTION>MICROFONO</OPTION>

</SELECT>

<BR>

<BR>

<INPUT TYPE=SUBMIT>

</FORM>

</BODY>

</HTML>

lista.php

<HTML>

<BODY>

<?php

echo "Seleccionaste una computadora: <B>$_GET["compu"]</B> con:<br>";

echo $_GET["dispo[0]"]."<br>";

echo $_GET["dispo[1]"]."<br>";

echo $_GET["dispo[2]"]."<br>";

echo $_GET["dispo[3]"]."<br>";

?>

</BODY>

</HTML>

  Campo oculto:

<input type="hidden" name="edad" value="55">

Este último tipo de campo resulta especialmente útil cuando queremos pasar datos ocultos en un formulario.

Ahora pasemos a ver ejemplos que necesitan mas código PHP, como son ciclos y arrays, implementándolos en conjunto con los formularios.

Para el uso del FOR un programita para créditos bancarios (banco.htm y banco.php).

banco.htm

<HTML>

<HEAD></HEAD>

<BODY>

<B>Crédito bancario</B>

<FORM METHOD="POST" ACTION="banco.php">

<BR>

Cual de estos paquetes te interesa tomar?<BR><BR>

<INPUT NAME="valor" TYPE="Radio" VALUE=1000>Nuestro paquete de $1,000 Con el 5.0% interes

<BR>

<INPUT NAME="valor" TYPE="Radio" VALUE=5000>Nuestro paquete de $5,000 Con el  6.5% interes

<BR>

<INPUT NAME="valor" TYPE="Radio" VALUE=10000>Nuestro paquete de $10,000 Con el  8.0% interes

<BR>

<BR>

Cuanto es lo que deseas pagar al mes ?

<INPUT NAME="pagomes" TYPE="Text" SIZE="5">

<BR>

<BR>

<INPUT TYPE="SUBMIT" VALUE="Pulse aquí para calcular">

</FORM>

</BODY>

</HTML>

banco.php

<HTML>

<HEAD></HEAD>

<BODY>

<?php

$Duracion=0;

switch ($_POST["valor"]) {

case 1000:

   $Interes = 5;

   break;

case 5000:

   $Interes = 6.5;

   break;

case 10000:

   $Interes = 8;

   break;

default:

   echo "No seleccionaste ningun paquete favor de presionar el boton back y seleccionar alguno";

   exit;

}

$valor=$_POST["valor"];

while ($valor> 0)

{

   $Duracion = $Duracion + 1;

   $Mensualmente = $_POST["pagomes"] - ($valor * $Interes/100);

   if ($Mensualmente<=0)

   {

      echo "Tu necesitas hacer pagos mas grandes!";

      exit;

   }

   $valor = $valor - $Mensualmente;

}

echo "La duracion es de: $Duracion meses con un porcentaje de intereses del $Interes.";

?>

</BODY>

</HTML>

El siguiente programa demuestra como se pueden trabajar los array como elementos hash (estados.php y capital.php).

estados.php

<html>

<head>

<title>Estados de México</title>

</head>

<body bgcolor="#FFFFFF">

De que estado te gustaría conocer su capital?  

  <?

    $Estados=array(1=>"Colima","Jalisco","Sinaloa");

      echo "<form method='post' action='capital.php'>";

      echo "<select name='estado'>";

      for ($counter=1; $counter<4; $counter++)

        echo "<option value=$counter>$Estados[$counter]</option>";

      echo "</select><br><br>";   

      echo "<input type=submit>";

      echo "</form>";

  ?>

</body>

</html>

capital.php

<html>

<head>

<title>Capitales</title>

</head>

<body bgcolor="#FFFFFF">

<?php

$Capital=array(1=>"Colima","Guadalajara","Culiacan");

for ($counter=0;$counter<4;$counter++)

{

if ($counter==$_POST["estado"])  

{

echo "la capital del estado elegido es &Capital[$counter]";

}

}

?>

</body>

</html>

Como podemos observar los dos archivos tienen extensión .php, esto se debe a que es necesario ejecutar código php en los dos, para poder formar dinámicamente las dos páginas.

Para tener más material con formularios realizaremos un programa PHP que contenga varios elementos de formulario juntos:

Desarrollar un programa en PHP que pida el Nombre (textbox), el apellido (textbox), la edad (textbox), domicilio (text area), seleccione el rango de sueldo que le gustaría ganar (listbox) y que seleccione como considera así mismo su desempeño laboral (radio button).  El programa no aceptará curriculums que elijan un sueldo muy bajo, ni un sueldo extremo, ni tampoco si se considera pésimo (minicu.htm y minicu.php).

minicu.htm

<HTML><HEAD></HEAD><BODY><B>Minicurriculum </B>

<FORM METHOD="POST" ACTION="minicu.php">

Nombres:

<INPUT NAME="nombres" TYPE="Text">

Apellidos:

<INPUT NAME="apellidos" TYPE="Text">

Edad:

<INPUT NAME="edad" TYPE="Text"SIZE="3">

<BR>

<BR>

Domicilio:

<TEXTAREA NAME="Domicilio" ROWS=4 COLS=40>

</TEXTAREA>

<BR>

<BR>

Que salario deseas ganar?

<SELECT NAME="Salario">

<OPTION VALUE=0> Menos de $1000</OPTION>

<OPTION VALUE=1000>Entre $1,000 y $3,000</OPTION>

<OPTION VALUE=3000>Entre $3,000 y $5,000</OPTION>

<OPTION VALUE=5000>mas de $5,000</OPTION>

</SELECT>

<BR>

<BR>

Como consideras tu desempeño?<BR><BR>

<INPUT NAME="Desempe" TYPE="Radio" VALUE=0>Pesimo

<BR>

<INPUT NAME="Desempe" TYPE="Radio" VALUE=5>Regular

<BR>

<INPUT NAME="Desempe" TYPE="Radio" VALUE=10>Excelente

<BR>

<BR>

<INPUT TYPE="SUBMIT" VALUE="Presione cuando este listo(a)">

<INPUT TYPE="RESET" VALUE="Borra todo">

</FORM>

</BODY>

</HTML>

minicu.php

<HTML>

<BODY>

Sr(a) <?php Echo $_POST["nombres"].$_POST["apellidos"];?>

en base a su edad (<?php Echo $_POST["edad"];?>) y sus aspiraciones <br>

económicas y su auto estimación hemos determinado que:<br>

<?php

echo "Salario deseado: ".$_POST["Salario"]." <br>" ;

echo "Su desempeño elegido: ".$_POST["Desempe"]." <br>";

if ((($_POST["Salario"]== 0) OR ($_POST["Salario"] == 5000)) OR ($_POST["Desempe"] == 0))

{

Echo "Usted no cumple los requisitos para ser parte de nuestra empresa";

}

else

{

Echo "Usted cumple satisfactoriamente nuestras aspiraciones";

}

?>

</BODY>

</HTML>