lunes, 10 de septiembre de 2012

9. FORMULARIO (control checkbox)

Para analizar este control utilizaremos prácticamente el mismo ejemplo que con el objeto radio:

Implementar un formulario que solicite la carga de dos enteros, uno en cada text. Disponer dos controles de tipo checkbox que nos permitan seleccionar si queremos sumar y/o restar los valores ingresados.

El formulario html tiene el siguiente código:

<head>
  <title>Problema</title>
  </head>
  <body>
<form action="pagina2.php" 
  method="post">
  Ingrese primer valor:
  <input type="text" name="valor1">
  <br>
  Ingrese segundo valor:
  <input type="text" name="valor2">
  <br>
  <input type="checkbox" name="check1">sumar
  <br>
  <input type="checkbox" name="check2">restar
  <br>
  <input type="submit" name="operar">
  </form>
</body>
  </html> 
 
Lo nuevo en este problema son los dos controles de tipo checkbox:


  <input type="checkbox" name="check1">sumar
  <br>
  <input type="checkbox" name="check2">restar
  <br>
 
Es importante notar que cada checkbox tiene un nombre distinto.

Ahora veamos el código de la página que procesa el formulario:


<html>
<head>
<title>Problema</title>
</head>
<body> 
<?php
  if (isset($_REQUEST['check1']))
  {
    $suma=$_REQUEST['valor1'] + $_REQUEST['valor2'];
    echo "La suma es:".$suma."<br>";
  }
  if (isset($_REQUEST['check2']))
  {
    $resta=$_REQUEST['valor1'] - $_REQUEST['valor2'];
    echo "La resta es:".$resta;
  }
  ?>
</body>
  </html>

Si el checkbox no está seleccionado en el formulario no se crea una entrada en el vector asociativo $_REQUEST, para saber si existe una determinada componente en un vector se emplea la función isset, si retorna true significa que existe y por lo tanto el checkbox está seleccionado.

Disponemos dos if a la misma altura ya que los dos controles de tipo checkbox podrían estar seleccionados.


PROBLEMA PROPUESTO

Confeccionar un formulario que solicite la carga del nombre de una persona y que permita seleccionar una serie de deportes que practica (futbol, basket, tennis, voley).

Mostrar en la página que procesa el formulario la cantidad de deportes que practica.

No hay comentarios:

Publicar un comentario