|
|
@@ -0,0 +1,73 @@
|
|
|
+#!/usr/bin/env perl
|
|
|
+use strict;
|
|
|
+use warnings;
|
|
|
+use URI;
|
|
|
+use CGI qw(:standard);
|
|
|
+use DBI;
|
|
|
+
|
|
|
+# Configura la conexión a la base de datos SQLite
|
|
|
+my $dbh = DBI->connect("dbi:SQLite:dbname=../productos.db", "", "");
|
|
|
+$dbh->{RaiseError} = 1; # Habilita mensajes de error en caso de problemas
|
|
|
+
|
|
|
+# Crea la tabla si no existe
|
|
|
+$dbh->do(q{
|
|
|
+ CREATE TABLE IF NOT EXISTS productos (
|
|
|
+ id_producto INTEGER PRIMARY KEY,
|
|
|
+ Descripcion TEXT,
|
|
|
+ Cantidad INTEGER,
|
|
|
+ proveedor TEXT
|
|
|
+ )
|
|
|
+});
|
|
|
+
|
|
|
+# Manejo de la solicitud POST
|
|
|
+if ($ENV{'REQUEST_METHOD'} eq 'POST') {
|
|
|
+ my $id_producto = param('id_producto');
|
|
|
+ my $Descripcion = param('Descripcion');
|
|
|
+ my $Cantidad = param('Cantidad');
|
|
|
+ my $proveedor = param('proveedor');
|
|
|
+
|
|
|
+ # Inserta los datos en la base de datos
|
|
|
+ my $sth = $dbh->prepare(q{
|
|
|
+ INSERT INTO productos (id_producto, Descripcion, Cantidad, proveedor)
|
|
|
+ VALUES (?, ?, ?, ?)
|
|
|
+ });
|
|
|
+
|
|
|
+ $sth->execute($id_producto, $Descripcion, $Cantidad, $proveedor);
|
|
|
+}
|
|
|
+
|
|
|
+# Genera el formulario HTML
|
|
|
+print header();
|
|
|
+
|
|
|
+print <<'END_MESSAGE';
|
|
|
+<HEAD>
|
|
|
+ <TITLE>Demo3 </TITLE>
|
|
|
+ <link rel="stylesheet" href="http://127.0.0.1/form.css">
|
|
|
+ <script src="http://127.0.0.1/script.js"></script>
|
|
|
+
|
|
|
+</HEAD>
|
|
|
+<BODY>
|
|
|
+ <form id="productoForm" action="form4.cgi" method="POST">
|
|
|
+ <div>
|
|
|
+ <label for="id_producto">ID Producto:</label>
|
|
|
+ <input type="text" id="id_producto" name="id_producto" required>
|
|
|
+ <span class="error" id="idProductoError"></span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <label for="Descripcion">Descripción:</label>
|
|
|
+ <input type="text" id="Descripcion" name="Descripcion" required>
|
|
|
+ <span class="error" id="DescripcionError"></span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <label for="Cantidad">Cantidad:</label>
|
|
|
+ <input type="number" id="Cantidad" name="Cantidad" required>
|
|
|
+ <span class="error" id="CantidadError"></span>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <label for="proveedor">Proveedor:</label>
|
|
|
+ <input type="text" id="proveedor" name="proveedor" required>
|
|
|
+ <span class="error" id="proveedorError"></span>
|
|
|
+ </div>
|
|
|
+ <button type="submit">Guardar Producto</button>
|
|
|
+ </form>
|
|
|
+ </BODY>
|
|
|
+END_MESSAGE
|