Soy electrónico infiltrándome en informática. Tengo una web en la cual existe un formulario (nombre, apellidos, enviar, borrar todo) el cual consulta a una base de datos (MySQL).
El problema radica en que los datos que se ingresan al formulario no se validan y al momento de dar clic en el enviar, siempre presenta los datos según la sentencia SQL.
He leído sobre la función param() para validar, pero no estoy muy claro de cómo usarla.
CÓDIGO HTML (Acá está el formulario):
Using html4strict Syntax Highlighting
<form action="/cgi-bin/mostrar.pl" method="post">
Nombre <input name="nombre" maxlength="14" size="15" type="text">
Apellidos <input name="apellidos" maxlength="14" size="15" type="text">
<input name="enviar" value="Enviar" type="submit"><input name="Borrar" value="Borrar Todo" type="reset">
</form>
Nombre <input name="nombre" maxlength="14" size="15" type="text">
Apellidos <input name="apellidos" maxlength="14" size="15" type="text">
<input name="enviar" value="Enviar" type="submit"><input name="Borrar" value="Borrar Todo" type="reset">
</form>
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Acá expongo el archivo.pl
Using perl Syntax Highlighting
- #!/usr/bin/perl
- use warnings;
- use strict;
- use CGI ':standard';
- use DBI;
- # Imprimiendo las cabeceras
- print "content-type: text/html\n\n";
- print "<html>\n";
- print "<head>\n";
- print "<title>Resultados</title>\n";
- print "</head>\n";
- print "<body>\n";
- print h2("Conexión a MySQL con script de Perl");
- #print "<h2><center>\n";
- #<b>Ejemplo de conexión a MySQL con script de Perl</b>
- #</center></h2>";
- print "<pre>";
- # Conectando a la bd MySQL, cuyo nombre es usuarios, usuario root y clave diti2010
- my $dbh = DBI->connect("DBI:mysql:usuarios", "root", "diti2010");
- die "connect failed: " . DBI->errstr() unless $dbh;
- # Preparando para obtener la consulta de datos de la tabla clientes
- my $sth = $dbh->prepare("SELECT id,nombre,apellidos, ip FROM clientes")
- or die "prepare failed: " . $dbh->errstr();
- $sth->execute() or die "execute failed: " . $sth->errstr();
- my($id, $nombre, $apellidos, $ip );
- # Observando a través de cada fila de data
- while (($id, $nombre, $apellidos, $ip) = $sth->fetchrow()) {
- print "$id : $nombre : $apellidos: $ip\n";
- }
- # Se desconecta de la bd
- $sth->finish();
- $dbh->disconnect();
- # Se escriben las cabeceras de fin
- print "</pre>\n";
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Gracias.