Acceso a formularios con PHP

Vimos en el tema de HTML5 como se poden hacer formularios, para hacerlos usámos la etiqueta form. Dicha etiqueta tiene el atributo “action“, en ese atributo pondremos la dirección del fichero .php que manejará el formulario, nos tendrá que quedar algo así (será un fichero html):

Formulario en HTML

<!DOCTYPE html> 
<html> 
<head> 
	<meta name="description" content="Formularios con PHP5"/> 
	<meta name="keywords" content="Formularios, php5"/> 
	<meta name="author" content="Juan Luis Mora Blanco" /> 
	<meta charset="UTF-8"/> 
	<title>Formulario con PHP5</title> 
</head> 
<body>
<article>
	<form action="procesarformulario.php">
	Nombre usuario:
	<input type="text" name="nombreusuario" size="20"/><br />
	Listado de libros disponibles:
	<ul>
		<li>Libro A - (Precio=10) - Unidades:
			<input type="text" name="unidadesA" size="12"/>
		</li> 
		<li>Libro B - (Precio=12) - Unidades:
			<input type="text" name="unidadesB" size="12"/>
		</li>
	</ul>
	<div align="center"><input type="submit" value="Enviar"/> </div>
	</form>
	
	</article>
</body>
</html>

Será muy importante el atributo name de cada elemento, ya que PHP encontrará los elementos usando ese atributo. Cuando pulsemos el botón enviar, se le pasará el control del formulario al fichero procesar1.php, que por supuesto tendremos que tenerlo escrito en nuestra carpeta del proyecto y tendrá una apariencia similar a esto:

Procesador de formulario en PHP

<!DOCTYPE html> 
<html> 
<head> 
	<meta name="description" content="Formularios con PHP5"/> 
	<meta name="keywords" content="Formularios, php5"/> 
	<meta name="author" content="Juan Luis Mora Blanco" /> 
	<meta charset="UTF-8"/> 
	<title>Formulario con PHP5</title> 
</head> 
<body>
	<article>
	<h1>formulario procesado con PHP</h1>
	<?php
	echo "Pedido de: ".$_GET['nombreusuario']."<br />";
	echo "Número de unidades del libro A: ".$_GET['unidadesA']."<br />";
	echo "Número de unidades del libro B: ".$_GET['unidadesB']."<br />";
	?>
	</article>
</body>
</html>

Podemos ver el uso de $_GET nos permite el acceso a los campos del formulario usando esta sintáxis:

  • $_GET[‘nombredelcampo’]

Ahora tendremos un fichero html con el formulario y un fichero PHP que recibe el formulario lleno por el cliente y luego lo muestra por pantalla.

Operaciones básicas con PHP

Por supuesto más adelante veremos todas las funciones de PHP, pero de momento vamos a ver las siguientes:

  • Suma (+)
  • Resta (-)
  • Multiplicación (*)
  • División es (/)
  • Concatenar (.)
  • Las variables se declaran así: $variable y se usan con el dolar por delante.
  • Ejemplos
    • $a=35+45;
    • $b=$a*15;
    • $c=$a+$b;
    • echo $a+$b;
    • echo $a.$b
  • Haz un programa en PHP (procesar2.php) que nos devuelva el número de unidades pedidas para el ejemplo anterior. sería algo como:
    echo "Ha pedido usted: ", ($_GET['unidadesA']+$_GET['unidadesB']);
    

Páginas autoprocesadas

Vamos a usar muy poco las páginas autoprocesadas, pero es interesante conocerlas para poder entenderlas si las vemos en algún manual. Debemos saber.

  • Llevan por encima la parte de html con el formulario
  • PHP va al final
  • El formulario no tiene action, ya que no va a ningún sitio.
  • Usaremos if (!Isset(—)) para saber si estamos en la primera vez o en la segunsa, en la primera el formulario estará vació y se quedará en la parte HTML, en la segunsa al estar lleno pasará la ejecución a la parte PHP.
  • Ahora haz tu el autoprocesado que calcule el importe de la compra.

Ejemplo de autoprocesado

<!DOCTYPE html> 
<html> 
<head> 
	<meta name="description" content="Formularios con PHP5"/> 
	<meta name="keywords" content="Formualarios, php5"/> 
	<meta name="author" content="Juan Luis Mora Blanco" /> 
	<meta charset="UTF-8"/> 
	<title>Formulario autoprocesado PHP5</title> 
</head> 
<body>
	<?php
	if (!IsSet($_GET['nombreusuario'])) /*Si no se ha rellenado el formulario*/
	{
	?>
	<article>
	<form>
	Nombre usuario:
	<input type="text" name="nombreusuario" size="20"/><br />
	Listado de libros disponibles:
	<ul>
		<li>Libro A - (Precio=10) - Unidades:
			<input type="text" name="unidadesA" size="12"/>
		</li> 
		<li>Libro B - (Precio=12) - Unidades:
			<input type="text" name="unidadesB" size="12"/>
		</li>
	</ul>
	<div align="center"><input type="submit" value="Enviar"/> </div>
	</form>
	<?php
	}
	else   /*Si si se ha llenado hacemos la parte php*/
	{
	echo "Pedido de: ".$_GET['nombreusuario']."<br />";
	echo "Número de unidades del libro A: ".$_GET['unidadesA']."<br />";
	echo "Número de unidades del libro B: ".$_GET['unidadesB']."<br />";
	}
	?>
	</article>
</body>
</html>

Originally posted 2011-01-31 19:22:34.

3 Responses to “ Acceso a formularios con PHP ”

  1. antonio dice:

    Tengo una duda. ¿Esto aque puede referirse?:
    /*
    $e=isset($cif) && !cif_ok($cif)? “class=’error'”: “”;
    if (!isset($cif)) $cif=”xxxxxxxx-x”;
    echo t(3).”CIF: “.
    “\n”; */
    echo t(3).”\n”;
    echo t(3).”\n”;
    echo t(3).”\n”;
    echo t(3).”\n”;
    //echo t(3).”\n”;
    echo t(3).”\n”;
    echo t(2).”\n”;
    }

    ¿Que significa echo t(3)? Gracias

  2. antonio dice:

    ¿como puedo hacer un formulario con tablas de xhtml?

Deja un comentario