10 - FORMULARIO (control select)

Veamos ahora como podemos rescatar desde PHP el elemento seleccionado de un control HTML de tipo select.

Implementar un formulario que solicite la carga de dos enteros, uno en cada «text».
Disponer un control de tipo select que nos permita seleccionar si queremos sumar o restar los dos valores ingresados:

pagina1.html
<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>
        <select name="operacion">
        <option value="suma">sumar</option>
        <option value="resta">restar</option>
        </select>
        <br>
        <input type="submit" name="operar">
    </form>
</body>
</html> 

Lo nuevo que aparece en este formulario es el control de tipo select.

<select name="operacion">
    <option value="suma">sumar</option>
    <option value="resta">restar</option>
</select> 

Cada opción tiene un valor (value). El seleccionado es el que se enviará a la página que procesa el formulario. El texto que aparece dentro del control es el que disponemos entre las marcas option.

Ahora la página que captura los datos ingresados en el formulario es:

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

El vector asociativo $_REQUEST almacena en la componente del control select el valor de la opción seleccionada.

Con una serie de if verificamos el valor seleccionado:

if ($_REQUEST['operacion'] == "suma") {
    $suma = $_REQUEST['valor1'] + $_REQUEST['valor2'];
    echo "La suma es:" . $suma;
} else {
    if ($_REQUEST['operacion'] == "resta") {
      $resta = $_REQUEST['valor1'] - $_REQUEST['valor2'];
      echo "La resta es:" . $resta;
    }
} 

Sólo se puede seleccionar un elemento de un control select (más adelante veremos como seleccionar varios elementos en forma simultáneo)