Ejercicio 1: Crear un Formulario de Inserción
Enunciado:
Crea una página PHP llamada formulario_insercion.php que contenga un
formulario con los siguientes campos:
codigo_articulo (input de texto)
seccion (input de texto)
nombre_articulo (input de texto)
El formulario debe enviar los datos a insertar_articulo.php mediante el método
POST.
Solución (formulario_insercion.php):
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Formulario de Inserción</title>
</head>
<body>
<form action="insertar_articulo.php" method="post">
<label for="codigo_articulo">Código del Artículo:</label><br>
<input type="text" id="codigo_articulo" name="codigo_articulo"
required><br><br>
<label for="seccion">Sección:</label><br>
<input type="text" id="seccion" name="seccion"
required><br><br>
<label for="nombre_articulo">Nombre del Artículo:</label><br>
<input type="text" id="nombre_articulo" name="nombre_articulo"
required><br><br>
<input type="submit" value="Insertar">
</form>
</body>
</html>
Ejercicio 2: Insertar Datos Recibidos del Formulario
Enunciado:
Crea una página PHP llamada insertar_articulo.php que reciba los datos del
formulario enviado desde formulario_insercion.php y los inserte en una tabla
articulos con los campos codigo_articulo, seccion y nombre_articulo.
Proporciona retroalimentación al usuario sobre si la inserción fue exitosa.
Solución (insertar_articulo.php):
<?php
require 'datos_conexion.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$codigo_articulo = trim($_POST['codigo_articulo']);
$seccion = trim($_POST['seccion']);
$nombre_articulo = trim($_POST['nombre_articulo']);
$sql = "INSERT INTO articulos (codigo_articulo, seccion,
nombre_articulo)
VALUES ('$codigo_articulo', '$seccion',
'$nombre_articulo')";
if (mysqli_query($conexion, $sql)) {
echo 'Artículo insertado con éxito:<br>';
echo 'Código: ' . $codigo_articulo . '<br>';
echo 'Sección: ' . $seccion . '<br>';
echo 'Nombre: ' . $nombre_articulo . '<br>';
} else {
echo 'Error al insertar el artículo: ' .
mysqli_error($conexion);
}
mysqli_close($conexion);
}
?>
Ejercicio 3: Validar Entradas del Formulario
Enunciado:
Modifica el archivo insertar_articulo.php para que valide que los campos no estén
vacíos y que codigo_articulo sea un valor numérico. Si la validación falla, muestra
un mensaje de error al usuario y no realices la inserción.
Solución:
<?php
require 'datos_conexion.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$codigo_articulo = trim($_POST['codigo_articulo']);
$seccion = trim($_POST['seccion']);
$nombre_articulo = trim($_POST['nombre_articulo']);
if (empty($codigo_articulo) || empty($seccion) ||
empty($nombre_articulo)) {
die('Todos los campos son obligatorios.');
}
if (!is_numeric($codigo_articulo)) {
die('El código del artículo debe ser un valor numérico.');
}
$sql = "INSERT INTO articulos (codigo_articulo, seccion,
nombre_articulo)
VALUES ('$codigo_articulo', '$seccion',
'$nombre_articulo')";
if (mysqli_query($conexion, $sql)) {
echo 'Artículo insertado con éxito:<br>';
echo 'Código: ' . $codigo_articulo . '<br>';
echo 'Sección: ' . $seccion . '<br>';
echo 'Nombre: ' . $nombre_articulo . '<br>';
} else {
echo 'Error al insertar el artículo: ' .
mysqli_error($conexion);
}
mysqli_close($conexion);
}
?>
Ejercicio 4: Mostrar Todos los Registros Después de la Inserción
Enunciado:
Modifica insertar_articulo.php para que, después de insertar un nuevo artículo, se
muestren todos los registros de la tabla articulos.
Solución:
<?php
require 'datos_conexion.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$codigo_articulo = trim($_POST['codigo_articulo']);
$seccion = trim($_POST['seccion']);
$nombre_articulo = trim($_POST['nombre_articulo']);
if (empty($codigo_articulo) || empty($seccion) ||
empty($nombre_articulo)) {
die('Todos los campos son obligatorios.');
}
if (!is_numeric($codigo_articulo)) {
die('El código del artículo debe ser un valor numérico.');
}
$sql = "INSERT INTO articulos (codigo_articulo, seccion,
nombre_articulo)
VALUES ('$codigo_articulo', '$seccion',
'$nombre_articulo')";
if (mysqli_query($conexion, $sql)) {
echo 'Artículo insertado con éxito:<br>';
echo 'Código: ' . $codigo_articulo . '<br>';
echo 'Sección: ' . $seccion . '<br>';
echo 'Nombre: ' . $nombre_articulo . '<br><br>';
} else {
echo 'Error al insertar el artículo: ' .
mysqli_error($conexion);
}
// Mostrar todos los registros
$sql = "SELECT * FROM articulos";
$resultado = mysqli_query($conexion, $sql);
if (mysqli_num_rows($resultado) > 0) {
echo '<h3>Lista de artículos:</h3>';
while ($fila = mysqli_fetch_assoc($resultado)) {
echo 'Código: ' . $fila['codigo_articulo'] . ' - Sección:
' . $fila['seccion'] . ' - Nombre: ' . $fila['nombre_articulo'] .
'<br>';
}
} else {
echo 'No hay artículos registrados.';
}
mysqli_close($conexion);
}
?>
Ejercicio 5: Manejar Duplicados en la Inserción
Enunciado:
Modifica insertar_articulo.php para que no permita insertar un artículo si
codigo_articulo ya existe en la tabla articulos. Muestra un mensaje de error si el
código ya está registrado.
Solución:
<?php
require 'datos_conexion.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$codigo_articulo = trim($_POST['codigo_articulo']);
$seccion = trim($_POST['seccion']);
$nombre_articulo = trim($_POST['nombre_articulo']);
if (empty($codigo_articulo) || empty($seccion) ||
empty($nombre_articulo)) {
die('Todos los campos son obligatorios.');
}
if (!is_numeric($codigo_articulo)) {
die('El código del artículo debe ser un valor numérico.');
}
// Verificar si el código ya existe
$sql = "SELECT * FROM articulos WHERE codigo_articulo =
'$codigo_articulo'";
$resultado = mysqli_query($conexion, $sql);
if (mysqli_num_rows($resultado) > 0) {
die('El código del artículo ya está registrado.');
}
$sql = "INSERT INTO articulos (codigo_articulo, seccion,
nombre_articulo)
VALUES ('$codigo_articulo', '$seccion',
'$nombre_articulo')";
if (mysqli_query($conexion, $sql)) {
echo 'Artículo insertado con éxito:<br>';
echo 'Código: ' . $codigo_articulo . '<br>';
echo 'Sección: ' . $seccion . '<br>';
echo 'Nombre: ' . $nombre_articulo . '<br>';
} else {
echo 'Error al insertar el artículo: ' .
mysqli_error($conexion);
}
mysqli_close($conexion);
}
?>
Ejercicio 6: Insertar y Mostrar Registros de la Tabla articulos
Enunciado:
Crea un formulario que permita insertar un nuevo registro en la tabla articulos con los
campos:
codigo_articulo (input de texto)
seccion (input de texto)
nombre_articulo (input de texto)
El formulario debe enviar los datos mediante el método POST. Al enviar los datos, el
script debe insertar un nuevo registro en la tabla articulos y mostrar todos los
registros de la tabla después de cada inserción.
Solución (formulario_insercion.php):
<?php
require 'datos_conexion.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$codigo_articulo = trim($_POST['codigo_articulo']);
$seccion = trim($_POST['seccion']);
$nombre_articulo = trim($_POST['nombre_articulo']);
if (empty($codigo_articulo) || empty($seccion) ||
empty($nombre_articulo)) {
die('Todos los campos son obligatorios.');
}
if (!is_numeric($codigo_articulo)) {
die('El código del artículo debe ser un valor numérico.');
}
// Insertar el registro en la tabla
$sql = "INSERT INTO articulos (codigo_articulo, seccion,
nombre_articulo)
VALUES ('$codigo_articulo', '$seccion',
'$nombre_articulo')";
if (mysqli_query($conexion, $sql)) {
echo 'Artículo insertado con éxito:<br>';
echo 'Código: ' . $codigo_articulo . '<br>';
echo 'Sección: ' . $seccion . '<br>';
echo 'Nombre: ' . $nombre_articulo . '<br><br>';
} else {
echo 'Error al insertar el artículo: ' .
mysqli_error($conexion);
}
// Mostrar todos los registros de la tabla
$sql = "SELECT * FROM articulos";
$resultado = mysqli_query($conexion, $sql);
if (mysqli_num_rows($resultado) > 0) {
echo '<h3>Lista de artículos:</h3>';
while ($fila = mysqli_fetch_assoc($resultado)) {
echo 'Código: ' . $fila['codigo_articulo'] . ' - Sección:
' . $fila['seccion'] . ' - Nombre: ' . $fila['nombre_articulo'] .
'<br>';
}
} else {
echo 'No hay artículos registrados.';
}
mysqli_close($conexion);
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Insertar Artículo</title>
</head>
<body>
<form action="formulario_insercion.php" method="post">
<label for="codigo_articulo">Código del Artículo:</label><br>
<input type="text" id="codigo_articulo" name="codigo_articulo"
required><br><br>
<label for="seccion">Sección:</label><br>
<input type="text" id="seccion" name="seccion"
required><br><br>
<label for="nombre_articulo">Nombre del Artículo:</label><br>
<input type="text" id="nombre_articulo" name="nombre_articulo"
required><br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>