Tutorial PHP

PHP INICIO Introducción PHP Instalación de PHP Sintaxis PHP Comentarios PHP Variables PHP PHP Echo / Imprimir Tipos de datos PHP Cadenas PHP Números PHP Matemáticas PHP Constantes PHP Operadores PHP PHP Si... Más... Elseif Cambio de PHP Bucles de PHP Funciones PHP Matrices de PHP Superglobales de PHP PHP expresión regular

Formularios PHP

Manejo de formularios PHP Validación de formulario PHP Formulario PHP requerido Formulario PHP URL/Correo electrónico Formulario PHP completo

PHP Avanzado

Fecha y hora PHP PHP Incluir Manejo de archivos PHP Archivo PHP Abrir/Leer Archivo PHP Crear/Escribir Carga de archivos PHP Cookies PHP Sesiones PHP Filtros PHP Filtros PHP avanzados Funciones de devolución de llamada de PHP PHPJSON Excepciones de PHP

POO de PHP

PHP ¿Qué es la programación orientada a objetos? Clases PHP/Objetos Constructor PHP Destructor PHP Modificadores de acceso de PHP Herencia de PHP Constantes PHP Clases abstractas de PHP Interfaces PHP Características de PHP Métodos estáticos de PHP Propiedades estáticas de PHP Espacios de nombres de PHP Iterables de PHP

Base de datos MySQL

Base de datos MySQL Conexión MySQL MySQL Crear base de datos Crear tabla MySQL MySQL Insertar datos MySQL Obtener la última identificación MySQL Insertar Múltiples MySQL preparado Datos seleccionados de MySQL mysql donde MySQL Ordenar por MySQL Eliminar Datos Datos de actualización de MySQL Límite de datos de MySQL

PHPXML _

Analizadores PHP XML Analizador PHP SimpleXML PHP SimpleXML - Obtener PHP XML Expatriados PHP XML DOM

PHP -AJAX

Introducción a AJAX AJAXPHP Base de datos AJAX XML AJAX Búsqueda en vivo de AJAX Encuesta AJAX

Ejemplos de PHP

Ejemplos de PHP Compilador PHP Cuestionario de PHP Ejercicios PHP Certificado PHP

Referencia PHP

Descripción general de PHP Matriz de PHP Calendario PHP Fecha PHP Directorio PHP Error PHP Excepción PHP Sistema de archivos PHP Filtro PHP PHPFTP PHPJSON Palabras clave PHP PHP Libxml Correo PHP Matemáticas PHP PHP misceláneo PHP MySQLi Red PHP Control de salida de PHP PHP expresión regular PHP SimpleXML flujo PHP Cadena PHP Manejo de variables de PHP Analizador PHP XML código postal de PHP Zonas horarias de PHP

Manejo de formularios PHP


Los superglobales de PHP $_GET y $_POST se utilizan para recopilar datos de formulario.


PHP: un formulario HTML simple

El siguiente ejemplo muestra un formulario HTML simple con dos campos de entrada y un botón de envío:

Ejemplo

<html>
<body>

<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

Cuando el usuario completa el formulario anterior y hace clic en el botón Enviar, los datos del formulario se envían para su procesamiento a un archivo PHP llamado "welcome.php". Los datos del formulario se envían con el método HTTP POST.

Para mostrar los datos enviados, simplemente puede hacer eco de todas las variables. El "welcome.php" se ve así:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

La salida podría ser algo como esto:

Welcome John
Your email address is [email protected]

El mismo resultado también podría lograrse utilizando el método HTTP GET:

Ejemplo

<html>
<body>

<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

y "welcome_get.php" se ve así:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

El código anterior es bastante simple. Sin embargo, falta lo más importante. Debe validar los datos del formulario para proteger su secuencia de comandos del código malicioso.

¡Piense en SEGURIDAD al procesar formularios PHP!

Esta página no contiene ninguna validación de formulario, solo muestra cómo puede enviar y recuperar datos de formulario.

Sin embargo, las próximas páginas mostrarán cómo procesar formularios PHP teniendo en cuenta la seguridad. ¡La validación adecuada de los datos del formulario es importante para proteger su formulario de piratas informáticos y spammers!



OBTENER frente a POST

Tanto GET como POST crean una matriz (por ejemplo, matriz (clave1 => valor1, clave2 => valor2, clave3 => valor3, ...)). Esta matriz contiene pares clave/valor, donde las claves son los nombres de los controles de formulario y los valores son los datos de entrada del usuario.

Tanto GET como POST se tratan como $_GET y $_POST. Estos son superglobales, lo que significa que siempre están accesibles, independientemente del alcance, y puede acceder a ellos desde cualquier función, clase o archivo sin tener que hacer nada especial.

$_GET es una matriz de variables que se pasan al script actual a través de los parámetros de URL.

$_POST es una matriz de variables que se pasan al script actual a través del método HTTP POST.


¿Cuándo usar GET?

La información enviada desde un formulario con el método GET es visible para todos (todos los nombres y valores de las variables se muestran en la URL). GET también tiene límites en la cantidad de información a enviar. La limitación es de unos 2000 caracteres. Sin embargo, debido a que las variables se muestran en la URL, es posible marcar la página. Esto puede ser útil en algunos casos.

GET puede usarse para enviar datos no confidenciales.

Nota: NUNCA se debe usar GET para enviar contraseñas u otra información confidencial.


¿Cuándo usar POST?

La información enviada desde un formulario con el método POST es invisible para los demás (todos los nombres/valores están incrustados en el cuerpo de la solicitud HTTP) y no tiene límites en la cantidad de información a enviar.

Además, POST admite funciones avanzadas, como compatibilidad con entrada binaria de varias partes al cargar archivos en el servidor.

Sin embargo, debido a que las variables no se muestran en la URL, no es posible marcar la página.

Los desarrolladores prefieren POST para enviar datos de formulario.

A continuación, ¡veamos cómo podemos procesar formularios PHP de forma segura!


Ejercicios PHP

Ponte a prueba con ejercicios

Ejercicio:

Si se envía el formulario en la sección blanca a continuación, ¿cómo puede usted, en welcome.php, generar el valor del campo "nombre"?

<form action="welcome.php" method="get"> First name: <input type="text" name="fname"> </form>
<html> <body> Welcome <?php echo ; ?> </body> </html>