Ejemplo de formularios

formulario.php


este formulario pide que se rellenen datos usando varios tipos de campos:
  • input
    • text
    • radio
    • checkbox (múltiple)
    • file
    • hidden
    • password
  • select
  • select (múltiple)
  • textarea

al pulsar el botón
  • input submit
se envía la petición al servidor, ejecutando formularioprocesar.php
A tener en cuenta que
  • para procesar ficheros, hay que añadir enctype="multipart/form-data"
  • los campos múltiples tienen name=nombre[]
<html>
<head>
    <title>Formulario</title>
</head>
<body>
    <h1>Formulario de entrada</h1>
    <form action="formularioprocesar.php" method="post" enctype="multipart/form-data" >
        <table>
            <tr><td>Nombre: </td><td><input type="text" name="nombre"/></td></tr>
            <tr><td>Sexo  : </td><td>
            <input type="radio" name="sexo" value="H" checked /> Hombre
            <input type="radio" name="sexo" value="M" /> Mujer
            </td></tr>
            <tr><td>Vehiculos: </td>
            <td>
            <input type="checkbox" name="vehiculo[]" value="Bici" /> Bici
            <input type="checkbox" name="vehiculo[]" value="Coche" /> Coche
            </td></tr>
            <tr><td>Fichero: </td>
            <td>
            <input type="file" name="upfile"  />
            </td></tr>
            <tr><td>Hidden: </td>
            <td>
            <input type="hidden" name="escondido" value="sorpresa" />
            </td></tr>
            <tr><td>Password: </td>
            <td>
            <input type="password" name="psw" />
            </td></tr>
            <tr><td>Comida: </td>
                <td>
                <select name="comida">
                  <option value="pasta">Pasta</option>
                  <option value="carne">Carne</option>
                  <option value="pescado">Pescado</option>
                  <option value="postre">Postre</option>
                </select>
            </td></tr>
            <tr><td>Bebidas: </td>
                <td>
                <select multiple size="3" name="bebida[]">
                  <option value="agua">Agua</option>
                  <option value="vino">Vino</option>
                  <option value="cerveza">Cerveza</option>
                </select>
            </td></tr>
            <tr><td>Comentarios: </td><td><textarea name="comentarios" rows="4" cols="30" ></textarea></td></tr>
        </table>
        <p>
         <input type="submit" value="submit" />
        </p>
    </form>
</body>
</html>
Ver ejemplo en http://php.lclis.com/formulario.php

formularioentrada.gif



formularioprocesar.php


Se ejecuta en el servidor al ser llamado por procesar.php, recibiendo varios parámetros via POST que se muestran en la página
A tener en cuenta
  • casi todos los valores se reciben en $_POST
  • los campos mútiples (que en el formulario que los envía están como name="nombre[]") debe comprobarse que $_POST("nombre") no está vacío.
  • los datos de ficheros subidos se reciben en $_FILES
<?php
$nombre = $_POST["nombre"];
$sexo = $_POST["sexo"];
if (!empty($_POST["vehiculo"]))
    $vehiculos = $_POST["vehiculo"];
$hidden = $_POST["escondido"];
$files = $_FILES["upfile"];
$password = $_POST["psw"];
$comida = $_POST["comida"];
if (!empty($_POST["bebida"]))
    $bebidas = $_POST["bebida"];
$comentarios = $_POST["comentarios"];
 
echo "nombre=$nombre<br/>";
echo "sexo=$sexo<br/>";
 
if (!empty($vehiculos))
{
    echo "vehiculos:<br/>";
    echo "<pre>";
    print_r($vehiculos);
    echo "</pre>";
}
else
    echo "sin vehiculos";
 
if (!empty($files))
{
    echo "ficheros:<br/>";
    echo "<pre>";
    print_r($files);
    echo "</pre>";
}
else
    echo "sin vehiculos";
 
echo "<br/>hidden=$hidden<br/>";
echo "comida=$comida<br/>";
 
if (!empty($bebidas))
{
    echo "bebidas:<br/>";
    echo "<pre>";
    print_r($bebidas);
    echo "</pre>";
}
else
    echo "sin bebidas";
 
echo "<br/>comentarios=$comentarios";
?>

Resultado


formularioprocesar.gif


Mas información en Formularios