9 - FORMULARIO (control checkbox)
El control checkbox tiene dos estados: seleccionado o no seleccionado.
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:
<html>
<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.