| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/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
|