0% encontró este documento útil (0 votos)
9 vistas6 páginas

Ejercicios 4.6 (Sol)

El documento describe la creación de un formulario en PHP para insertar artículos en una base de datos, incluyendo validaciones para evitar campos vacíos y duplicados. Se presentan soluciones para insertar datos, mostrar todos los registros después de la inserción y manejar errores. Además, se incluye un formulario que permite la inserción y visualización de artículos en la tabla correspondiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas6 páginas

Ejercicios 4.6 (Sol)

El documento describe la creación de un formulario en PHP para insertar artículos en una base de datos, incluyendo validaciones para evitar campos vacíos y duplicados. Se presentan soluciones para insertar datos, mostrar todos los registros después de la inserción y manejar errores. Además, se incluye un formulario que permite la inserción y visualización de artículos en la tabla correspondiente.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

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>

También podría gustarte