Uno de los puntos fuertes de PHP es su capacidad para manejar formularios. El concepto básico que es importante entender es que todos los campos de un formulario estarán automáticamente disponibles en el script PHP de acción. Lea el capítulo del manual relativo a las variables desde fuentes externas a PHP para más información y ejemplos sobre cómo utilizar los formularios. Aquí hay un ejemplo de formulario HTML :
Ejemplo #1 Un formulario HTML simple
<form action="action.php" method="post"> <label>Su nombre :</label> <input name="nombre" id="nombre" type="text" /> <label>Su edad :</label> <input name="edad" id="edad" type="number" /></p> <button type="submit">Validar</button> </form>
No hay nada especial en este formulario. Está en HTML puro, sin ninguna configuración especial. Cuando el visitante rellena el formulario, y hace clic en el botón OK, se llama al fichero action.php. En este fichero, se puede escribir el siguiente script :
Ejemplo #2 Mostrar datos de un formulario
Hola, <?php echo htmlspecialchars($_POST['nombre']); ?>.
Tienes <?php echo (int) $_POST['edad']; ?> años.
Aquí está el resultado que podría obtener, según los valores que haya introducido :
Hola Juan. Tienes 29 años.
Aparte de las partes htmlspecialchars() y
(int)
, este script solo hace cosas evidentes.
htmlspecialchars() se asegura de que todos los caracteres
especiales HTML se codifiquen correctamente para evitar inyecciones
de etiquetas HTML y de Javascript en sus páginas. Para la edad, dado que
sabemos que es un entero, se puede
convertir en un
entier. También se puede pedir a PHP que lo haga
automáticamente por usted utilizando la extensión
filter.
Las variables $_POST['nombre'] y
$_POST['edad'] son creadas automáticamente por PHP.
Un poco antes en este tutorial, hemos utilizado la variable
$_SERVER, una superglobal. Ahora, hemos introducido otra superglobal $_POST
que contiene todos los datos enviados por el método POST. Tenga en cuenta que
en nuestro formulario, hemos elegido el método POST.
Si hubiéramos utilizado el método GET entonces nuestro formulario
habría colocado esta información en la variable $_GET,
otra superglobal. También se puede utilizar la variable
$_REQUEST, si no desea preocuparse por el método utilizado. Contiene
una mezcla de los datos de GET, POST, COOKIE y FILE.