#!/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 start_html('Formulario de Producto'); print h1('Ingrese los datos del producto:'); print start_form(-method => 'POST', -action => $ENV{'SCRIPT_NAME'}); print div({class=>'field'}, label('ID Producto:', 'id_producto')); print textfield('id_producto'); print div({class=>'field'}, label('Descripción:', 'Descripcion')); print textfield('Descripcion'); print div({class=>'field'}, label('Cantidad:', 'Cantidad')); print textfield('Cantidad', {type => 'number'}); print div({class=>'field'}, label('Proveedor:', 'proveedor')); print textfield('proveedor'); print submit(-value => 'Guardar Producto'); print end_form();