[perl] CGI's
Sergio Tirado
stirado@campus.gym.itesm.mx
Fri, 10 Mar 2000 15:26:41 -0700
At 12:14 PM 3/10/00 -0600, you wrote:
>Por otro lado, ¿alguien tiene por ahí algún fuente o referencias de
>programas hechos con DBI.pm y CGI.pm? estoy haciendo unos cgi's y
>quisiera darme una idea.
Te mando un miniprogramita para dar de alta frases célebres:
#!/usr/bin/perl -w
use CGI qw(:standard);
$q = new CGI;
$q->import_names('R');
use DBI();
my $dbh = DBI->connect("DBI:mysql:frases;localhost", "root", "flaco");
my $query = "SELECT autor_id, nombre, apellido_p, apellido_m FROM autor ORDER BY nombre";
my $output = $dbh->prepare($query);
$output->execute;
$no_autores = 0;
$autores = {};
while (my($autor_id,$nombre,$apellido_p,$apellido_m) = $output->fetchrow_array) {
$nombre_completo = "$nombre $apellido_p $apellido_m";
$autor->{$autor_id} = $nombre_completo;
push @autores, $autor;
}
$output->finish();
$dbh->disconnect();
print header;
print start_html(-title=>'Registro de frases',
-link=>'blue',
-alink=>'#0066ff',
-vlink=>'navy',
-BGCOLOR=>'white');
print "<center>";
print font({-face=>'Arial, Helvetica, Verdana',
-size=>5,
-color=>'black'},
'Frase del día');
print br;
print font({-face=>'Arial, Helvetica, Verdana',
-size=>3,
-color=>'black'},
'Registro de frases');
print "</center>";
print br;
print br;
print startform(-method=>'post',
-action=>'./frases.cgi');
print table({-align=>'center',
-border=>0},
Tr(
[
td({align=>'right'},['Autor',popup_menu(-name=>'autor_id', -default=>1, -values=>@autores)]),
td({align=>'right',valign=>'top'},['Frase',textarea(-name=>'frase', -rows=>5, -columns=>34)]),
td({align=>'right'},['Comentario',textfield(-name=>'comentario', -size=>40, -maxlength=>255)]),
td([' ',submit(-label=>'Registrar')])
]
)
);
print endform;
print "<CENTER><A href='/informatica/admin/frases/altas/autores.cgi'>registrar un nuevo autor</A> | <A href='/informatica/admin/frases/altas/'>menú anterior</A></Center>";
if (param()) {
if ($R::frase ne undef) {
print "<br>";
print "<CENTER>";
print "<I>$R::frase - $autor->{$R::autor_id}</I><br>";
print "<br>";
print "<FONT color='#ff0000'>El registro ha sido dado de alta</Font><br>";
print "<br>";
print "<A href='./frases.cgi/'>capturar otro registro</A> | <A href='/informatica/admin/frases/altas/'>menú anterior</A>";
print "</Center>";
my $dbh = DBI->connect("DBI:mysql:frases;localhost", "root", "flaco");
my $output = $dbh->do("INSERT INTO frase VALUES('',\'$R::frase\',\'$R::autor_id\',\'$R::comentario\')");
$output->finish();
$dbh->disconnect();
}
}
print end_html;
--
Sergio Tirado Ochoa
Director de Informática
ITESM Campus Guaymas
--------- Pie de mensaje --------------------------------
Visite: http://tlali.iztacala.unam.mx/~randrade/perl.shtml
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : unsubscribe perl