Está en la página 1de 23

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos:

Creación de un formulario básico

Crea un formulario HTML con dos campos de texto: nombre y correo electrónico.

Cuando se envíe el formulario, muestra en pantalla los valores ingresados.

Para crear un formulario básico en HTML, se puede utilizar el siguiente código:

```

<form method="POST" action="">

<label for="nombre">Nombre:</label>

<input type="text" id="nombre" name="nombre"><br>

<label for="correo">Correo electrónico:</label>

<input type="email" id="correo" name="correo"><br>

<input type="submit" value="Enviar">

</form>

```

Este formulario tiene dos campos de texto: uno para el nombre y otro para el correo
electrónico. También tiene un botón de enviar.

Para procesar los datos del formulario con PHP, se puede utilizar la siguiente función:

```

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

$nombre = $_POST['nombre'];

$correo = $_POST['correo'];
echo "Nombre: " . $nombre . "<br>";

echo "Correo electrónico: " . $correo;

?>

```

Esta función verifica si el método de solicitud es POST (es decir, si se ha enviado el formulario)
y luego recupera los valores ingresados en los campos de texto. Finalmente, muestra los
valores en pantalla utilizando la función `echo`.

Para integrar esta función con el formulario HTML, se puede agregar el código PHP al principio
del archivo y luego modificar la acción del formulario para que apunte al mismo archivo:

```

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

$nombre = $_POST['nombre'];

$correo = $_POST['correo'];

echo "Nombre: " . $nombre . "<br>";

echo "Correo electrónico: " . $correo;

?>

<form method="POST" action="">

<label for="nombre">Nombre:</label>

<input type="text" id="nombre" name="nombre"><br>


<label for="correo">Correo electrónico:</label>

<input type="email" id="correo" name="correo"><br>

<input type="submit" value="Enviar">

</form>

```

Con estos cambios, al enviar el formulario se mostrarán en pantalla los valores ingresados en
los campos de texto.

Validación de campos obligatorios

Los campos de nombre y correo electrónico sean obligatorios.

Si alguno de los campos no se completa, muestra un mensaje de error.

Para validar los campos obligatorios de nombre y correo electrónico, se puede utilizar una
función de JavaScript que verifique si ambos campos están vacíos al momento de enviar el
formulario. Si alguno de los campos no se completa, se muestra un mensaje de error.

Aquí hay un ejemplo de cómo hacerlo:

HTML:

```

<form id="myForm" onsubmit="return validateForm()">

<label for="name">Nombre:</label>

<input type="text" id="name" name="name">

<label for="email">Correo electrónico:</label>

<input type="email" id="email" name="email">


<button type="submit">Enviar</button>

</form>

<div id="error"></div>

```

JavaScript:

```

function validateForm() {

var name = document.getElementById("name").value;

var email = document.getElementById("email").value;

if (name == "" || email == "") {

document.getElementById("error").innerHTML = "Por favor, complete todos los campos


obligatorios.";

return false;

} else {

return true;

```

En este ejemplo, la función `validateForm()` se llama cuando se envía el formulario. La función


obtiene los valores de los campos de nombre y correo electrónico y verifica si alguno está
vacío. Si alguno está vacío, se muestra un mensaje de error en el elemento con el ID "error". Si
ambos campos están completos, la función devuelve `true` para permitir que el formulario se
envíe.
Es importante tener en cuenta que esta validación solo se realiza en el lado del cliente (en el
navegador del usuario). Para una validación más segura, también es necesario realizar una
validación en el lado del servidor.

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Validación
de campos obligatorios

Los campos de nombre y correo electrónico sean obligatorios.

Si alguno de los campos no se completa, muestra un mensaje de error.

Para validar los campos obligatorios en un formulario con PHP, se pueden seguir los siguientes
pasos:

1. Crear el formulario HTML con los campos requeridos:

```

<form method="post" action="procesar.php">

<label for="nombre">Nombre:</label>

<input type="text" name="nombre" id="nombre" required>

<label for="email">Correo electrónico:</label>

<input type="email" name="email" id="email" required>

<label for="telefono">Teléfono:</label>

<input type="tel" name="telefono" id="telefono">

<button type="submit">Enviar</button>

</form>

```
En este ejemplo, se han marcado los campos de nombre y correo electrónico como "required",
lo que significa que el usuario debe completarlos para poder enviar el formulario.

2. En el archivo "procesar.php", se pueden validar los campos obligatorios con la siguiente


función:

```

<?php

if (empty($_POST['nombre']) || empty($_POST['email'])) {

echo "Por favor, complete todos los campos obligatorios.";

} else {

// Procesar el formulario

?>

```

Esta función comprueba si alguno de los campos de nombre o correo electrónico está vacío. Si
es así, muestra un mensaje de error. Si ambos campos están completos, se puede continuar
con el procesamiento del formulario.

3. Para mostrar el mensaje de error en la página del formulario, se puede utilizar la siguiente
estructura condicional:

```

<?php if (!empty($mensaje_error)): ?>

<div class="error"><?php echo $mensaje_error; ?></div>

<?php endif; ?>

```
En este ejemplo, se comprueba si existe una variable llamada "$mensaje_error". Si es así y no
está vacía, se muestra un mensaje de error en un div con la clase "error".

4. Para mostrar los valores ingresados por el usuario en caso de que haya algún error en el
formulario, se pueden utilizar las siguientes líneas de código:

```

<input type="text" name="nombre" id="nombre" value="<?php echo $_POST['nombre']; ?>"


required>

<input type="email" name="email" id="email" value="<?php echo $_POST['email']; ?>"


required>

```

Esto permite que los campos de nombre y correo electrónico mantengan los valores
ingresados por el usuario en caso de que haya algún error en el formulario y se deba mostrar
un mensaje de error.

Con estos pasos, se puede validar los campos obligatorios en un formulario con PHP y mostrar
mensajes de error si alguno de ellos no está completo.

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Validación
de dirección de correo electrónico

Agrega una validación adicional al campo de correo electrónico para asegurarte de que sea
una dirección de correo válida.

Si la dirección no es válida, muestra un mensaje de error.

Para validar la dirección de correo electrónico en un formulario con PHP, se puede utilizar la
función filter_var() junto con la constante FILTER_VALIDATE_EMAIL. Esta función comprueba si
el valor del campo es una dirección de correo electrónico válida y devuelve true o false.

A continuación, se muestra un ejemplo de cómo validar el campo de correo electrónico en un


formulario:
```

<?php

// Comprobamos si se ha enviado el formulario

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

// Obtenemos los valores del formulario

$nombre = $_POST['nombre'];

$correo = $_POST['correo'];

// Validamos la dirección de correo electrónico

if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) {

$error = 'La dirección de correo electrónico no es válida';

// Si no hay errores, procesamos los datos

if (!isset($error)) {

// Procesar los datos del formulario...

echo "¡Gracias por enviar el formulario!";

exit;

?>

<form method="post">

<label for="nombre">Nombre:</label>

<input type="text" name="nombre" id="nombre">

<label for="correo">Correo electrónico:</label>


<input type="email" name="correo" id="correo">

<?php if (isset($error)): ?>

<p><?php echo $error; ?></p>

<?php endif; ?>

<button type="submit">Enviar</button>

</form>

```

En este ejemplo, primero comprobamos si se ha enviado el formulario utilizando


$_SERVER['REQUEST_METHOD']. Luego, obtenemos los valores del campo de nombre y correo
utilizando $_POST.

Después, validamos la dirección de correo electrónico utilizando filter_var() y


FILTER_VALIDATE_EMAIL. Si la dirección no es válida, establecemos la variable $error con un
mensaje de error.

Finalmente, si no hay errores, procesamos los datos del formulario. Si hay errores, mostramos
el mensaje de error debajo del campo de correo electrónico utilizando un condicional if y la
función isset().

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Uso de
casillas de verificación y de opción

Crea un formulario con casillas de verificación para seleccionar uno o varios elementos.

Agrega también botones de opción para seleccionar una opción exclusiva.

Muestra en pantalla los valores seleccionados al enviar el formulario.

Para crear un formulario con casillas de verificación y botones de opción en PHP, se puede
seguir el siguiente código:

```php
<!DOCTYPE html>

<html>

<head>

<title>Formulario con casillas de verificación y botones de opción</title>

</head>

<body>

<?php

// Comprobar si el formulario ha sido enviado

if ($_SERVER["REQUEST_METHOD"] == "POST") {

// Obtener los valores seleccionados en las casillas de verificación

if (isset($_POST["elemento1"])) {

echo "Elemento 1 seleccionado<br>";

if (isset($_POST["elemento2"])) {

echo "Elemento 2 seleccionado<br>";

if (isset($_POST["elemento3"])) {

echo "Elemento 3 seleccionado<br>";

// Obtener la opción exclusiva seleccionada en los botones de opción

if (isset($_POST["opcion"])) {

echo "Opción seleccionada: ".$_POST["opcion"]."<br>";

}
}

?>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">

Casillas de verificación:<br>

Elemento 1 <input type="checkbox" name="elemento1"><br>

Elemento 2 <input type="checkbox" name="elemento2"><br>

Elemento 3 <input type="checkbox" name="elemento3"><br><br>

Botones de opción:<br>

Opción 1 <input type="radio" name="opcion" value="opcion1"><br>

Opción 2 <input type="radio" name="opcion" value="opcion2"><br><br>

<input type="submit" value="Enviar">

</form>

</body>

</html>

```

En este código, se utiliza la función `isset()` para comprobar si una casilla de verificación o un
botón de opción ha sido seleccionado. Si es así, se muestra en pantalla el valor
correspondiente.

También se utiliza la función `htmlspecialchars()` para evitar que se introduzcan caracteres


especiales en el formulario y prevenir ataques XSS (cross-site scripting).

Al enviar el formulario, los valores seleccionados se muestran en pantalla.


Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Uso de
listas desplegables (select)

Crea un formulario con una lista desplegable que contenga diferentes opciones.

Cuando se seleccione una opción y se envíe el formulario, muestra en pantalla la opción


seleccionada.

<!DOCTYPE html>

<html>

<head>

<title>Lista desplegable con PHP</title>

</head>

<body>

<form method="post">

<label for="opciones">Selecciona una opción:</label>

<select name="opciones" id="opciones">

<option value="opcion1">Opción 1</option>

<option value="opcion2">Opción 2</option>

<option value="opcion3">Opción 3</option>

<option value="opcion4">Opción 4</option>

<option value="opcion5">Opción 5</option>

</select>

<input type="submit" name="enviar" value="Enviar">

</form>

<?php

if(isset($_POST['enviar'])){
$opcion = $_POST['opciones'];

echo "La opción seleccionada es: " . $opcion;

?>

</body>

</html>

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Subida de
archivos

Crea un formulario que permita a los usuarios subir archivos al servidor.

Al recibir el archivo, valida que sea de un tipo permitido y muestra un mensaje de éxito o error.

Para crear un formulario que permita a los usuarios subir archivos al servidor, se puede utilizar
el siguiente código HTML:

```

<form action="upload.php" method="post" enctype="multipart/form-data">

<input type="file" name="archivo">

<input type="submit" value="Subir archivo">

</form>

```

Este formulario tiene un campo de tipo "file" que permite seleccionar un archivo del disco
duro del usuario y un botón de tipo "submit" para enviar el formulario al servidor.

El atributo "action" indica la URL del script PHP que procesará el archivo subido. El atributo
"method" indica que se utilizará el método POST para enviar los datos. Y el atributo "enctype"
indica que se utilizará una codificación especial para enviar archivos.
En el script PHP, se puede utilizar la variable $_FILES para acceder al archivo subido. Por
ejemplo:

```

<?php

if ($_FILES["archivo"]["error"] == UPLOAD_ERR_OK) {

$nombre = $_FILES["archivo"]["name"];

$tipo = $_FILES["archivo"]["type"];

$tamano = $_FILES["archivo"]["size"];

$temporal = $_FILES["archivo"]["tmp_name"];

// Validar tipo de archivo permitido

$permitidos = array("image/jpeg", "image/png", "application/pdf");

if (in_array($tipo, $permitidos)) {

// Mover archivo a carpeta de destino

move_uploaded_file($temporal, "archivos/$nombre");

echo "Archivo subido con éxito.";

} else {

echo "Tipo de archivo no permitido.";

} else {

echo "Error al subir archivo.";

?>

```

En este ejemplo, se comprueba si no hubo errores al subir el archivo (UPLOAD_ERR_OK). Si


todo está bien, se obtienen algunas propiedades del archivo, como su nombre, tipo, tamaño y
ubicación temporal.
Luego se valida si el tipo de archivo está permitido. En este caso, se permiten imágenes JPEG y
PNG, así como archivos PDF. Si el tipo de archivo no está en la lista de permitidos, se muestra
un mensaje de error.

Si el tipo de archivo es válido, se mueve el archivo de su ubicación temporal a una carpeta de


destino llamada "archivos". Y se muestra un mensaje de éxito.

Es importante tener en cuenta que la carpeta "archivos" debe tener permisos de escritura para
que el script PHP pueda mover los archivos allí. Además, es recomendable validar también el
tamaño máximo del archivo y renombrar el archivo para evitar posibles conflictos con otros
archivos subidos con el mismo nombre.

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Uso de
sesiones

Crea un formulario de inicio de sesión con campos de nombre de usuario y contraseña.

Verifica que los datos ingresados coincidan con una combinación válida almacenada en una
sesión.

Muestra un mensaje de éxito o error según el resultado.

<!DOCTYPE html>

<html>

<head>

<title>Formulario de inicio de sesión</title>

</head>

<body>

<?php

session_start(); // Inicia la sesión

if(isset($_POST['submit'])) { // Si se ha enviado el formulario


$username = $_POST['username'];

$password = $_POST['password'];

if($username == "usuario" && $password == "contraseña") { // Comprueba si los datos son


correctos

$_SESSION['login'] = true; // Establece la sesión como iniciada

header("Location: bienvenido.php"); // Redirige a la página de bienvenida

} else {

echo "Nombre de usuario o contraseña incorrectos"; // Muestra un mensaje de error

?>

<h1>Inicio de sesión</h1>

<form method="post" action="">

Nombre de usuario: <input type="text" name="username"><br><br>

Contraseña: <input type="password" name="password"><br><br>

<input type="submit" name="submit" value="Iniciar sesión">

</form>

</body>

</html>
Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos: Validación
con expresiones regulares

Mejora el formulario de validación de correo electrónico utilizando expresiones regulares para


una validación más precisa.

Para mejorar el formulario de validación de correo electrónico utilizando expresiones regulares


en PHP, se puede utilizar la función preg_match() que permite buscar una cadena de texto en
otra utilizando una expresión regular.

A continuación, se muestra un ejemplo de cómo validar un correo electrónico utilizando


expresiones regulares en PHP:

```

<?php

$email = "ejemplo@dominio.com";

// Expresión regular para validar un correo electrónico

$regex = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/";

if (preg_match($regex, $email)) {

echo "El correo electrónico es válido";

} else {

echo "El correo electrónico no es válido";

?>

```

En este ejemplo, la expresión regular utilizada valida que el correo electrónico tenga el
formato correcto: una cadena de caracteres alfanuméricos seguida de un símbolo @, seguida
de otra cadena alfanumérica seguida de un punto y finalmente una extensión de dos o más
caracteres alfabéticos.
Al utilizar esta función en el formulario de registro o contacto, se puede asegurar que los
correos electrónicos ingresados sean válidos y evitar errores en el envío o recepción de
mensajes.

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos:Creación
de un formulario dinámico

Crea un formulario que permita agregar dinámicamente campos de texto adicionales al hacer
clic en un botón "Agregar campo".

Permite también eliminar los campos adicionales si ya no son necesarios.

Para crear un formulario dinámico con PHP, se puede utilizar JavaScript para agregar y eliminar
campos de texto adicionales. A continuación, se muestra un ejemplo de cómo hacerlo:

1. Crear el formulario HTML básico:

```

<form method="post" action="procesar.php">

<label for="nombre">Nombre:</label>

<input type="text" name="nombre" id="nombre">

<div id="campos-adicionales">

<!-- aquí se agregarán los campos adicionales -->

</div>

<button type="button" id="agregar-campo">Agregar campo</button>

<button type="submit">Enviar</button>

</form>

```
2. Agregar el código JavaScript para agregar y eliminar campos adicionales:

```

<script>

// función para agregar un campo adicional

function agregarCampo() {

var div = document.createElement('div');

div.innerHTML = '<label for="campo-adicional">Campo adicional:</label> ' +

'<input type="text" name="campo-adicional[]"> ' +

'<button type="button" class="eliminar-campo">Eliminar campo</button>';

document.getElementById('campos-adicionales').appendChild(div);

// agregar evento al botón "Eliminar campo"

var botonesEliminar = document.getElementsByClassName('eliminar-campo');

for (var i = 0; i < botonesEliminar.length; i++) {

botonesEliminar[i].addEventListener('click', function() {

this.parentNode.remove();

});

// agregar evento al botón "Agregar campo"

document.getElementById('agregar-campo').addEventListener('click', function() {

agregarCampo();

});

</script>
```

3. En el archivo "procesar.php", se puede obtener los valores de los campos adicionales


utilizando el arreglo $_POST['campo-adicional']:

```

<?php

$nombre = $_POST['nombre'];

$camposAdicionales = $_POST['campo-adicional'];

// hacer algo con los datos recibidos...

?>

```

Con este código, se puede crear un formulario dinámico que permita agregar y eliminar
campos de texto adicionales según sea necesario.

Desarrolle los formularios con las funciones de PHP siguiendo los siguientes puntos:Uso de
AJAX para envío asíncrono

Mejora uno de los ejercicios anteriores utilizando AJAX para enviar el formulario de manera
asíncrona.

Muestra una respuesta en pantalla sin recargar la página.

Para desarrollar un formulario con funciones de PHP y AJAX para envío asíncrono, se pueden
seguir los siguientes pasos:

1. Crear el formulario HTML con los campos necesarios.

2. Agregar un evento de JavaScript para capturar el envío del formulario y prevenir la acción
por defecto.

3. Recopilar los datos del formulario y enviarlos a través de una petición AJAX a un archivo PHP
que procesará los datos.
4. En el archivo PHP, procesar los datos recibidos y enviar una respuesta en formato JSON.

5. En la función AJAX, mostrar la respuesta en pantalla sin recargar la página.

A continuación, se presenta un ejemplo de cómo implementar esto:

HTML:

```

<form id="miFormulario">

<label for="nombre">Nombre:</label>

<input type="text" name="nombre" id="nombre">

<br>

<label for="email">Email:</label>

<input type="email" name="email" id="email">

<br>

<button type="submit">Enviar</button>

</form>

<div id="respuesta"></div>

```

JavaScript:

```

document.getElementById("miFormulario").addEventListener("submit", function(event) {

event.preventDefault(); // Prevenir acción por defecto

// Recopilar datos del formulario

var nombre = document.getElementById("nombre").value;


var email = document.getElementById("email").value;

// Enviar petición AJAX

var xhr = new XMLHttpRequest();

xhr.open("POST", "procesar.php");

xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

xhr.onreadystatechange = function() {

if (xhr.readyState === XMLHttpRequest.DONE) {

if (xhr.status === 200) {

// Mostrar respuesta en pantalla

var respuesta = JSON.parse(xhr.responseText);

document.getElementById("respuesta").innerHTML = respuesta.mensaje;

} else {

console.error(xhr.statusText);

};

xhr.send("nombre=" + encodeURIComponent(nombre) + "&email=" +


encodeURIComponent(email));

});

```

PHP (procesar.php):

```

<?php

$nombre = $_POST["nombre"];
$email = $_POST["email"];

// Procesar datos y generar respuesta

if (!empty($nombre) && !empty($email)) {

$respuesta = array("exito" => true, "mensaje" => "¡Gracias por enviar el formulario!");

} else {

$respuesta = array("exito" => false, "mensaje" => "Por favor complete todos los campos.");

// Enviar respuesta en formato JSON

header('Content-Type: application/json');

echo json_encode($respuesta);

?>

```

En este ejemplo, se utiliza la función `XMLHttpRequest` para enviar una petición POST
asíncrona al archivo PHP `procesar.php`. Los datos del formulario se envían como parámetros
en la petición y se procesan en el archivo PHP. Luego, se genera una respuesta en formato
JSON que indica si el proceso fue exitoso o no, junto con un mensaje descriptivo. Finalmente,
la respuesta se muestra en pantalla sin recargar la página utilizando JavaScript.

También podría gustarte