Listado completo de tutoriales

Temario del Tutorial12 - 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)



Problema resuelto.

Copiar el contenido de este cuadro de texto al VS Code y almacenarlo en la carpeta c:\xampp\htdocs con un nombre con extensión php.
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear:
http://localhost/pagina1.php (o el nombre del archivo que le dió)

pagina1.php

Ejecutar ejemplo

pagina2.php

Problema propuesto.

Confeccionar un formulario que solicite el ingreso del nombre de una persona y un control select (en este último permitir la selección de los ingresos mensuales de la persona: 1-1000,1001-3000,>3000)
En la página que procesa el formulario mostrar un mensaje si debe pagar impuestos a las ganancias (si supera 3000)

Solución
pagina1.php

Ejecutar ejemplo
pagina2.php

Retornar