| ||||
Re: CGI::Ajax Tengo el suiguiente codigo:
Código:
Perl: #! /usr/bin/perl -w use strict; use CGI::Ajax; use CGI; use DBI; use HTML::Template; my $q = new CGI; my (%Variables); my $buscando = sub { my $buffer = $ENV{'QUERY_STRING'}; my @pairs = split(/&/, $buffer); foreach my $pair (@pairs) { my ($name, $value) = split(/=/, $pair); $name =~ tr/+/ /; $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $Variables{$name} = $value; } my $indice = "$Variables{'nombre'}"."%"; my $db="probando"; my $host="localhost"; my $port="3306"; my $userid="root"; my $passwd="zxcvbn"; my $connectionInfo="DBI:mysql:database=$db;$host:$port"; my $columna="*"; my $query = "SELECT * FROM opiniones WHERE (nombre LIKE '$indice') OR (mail LIKE '$indice') OR (direccion LIKE '$indice') OR (opinion LIKE '$indice')"; my $cgi = CGI->new; my $dbh = DBI->connect($connectionInfo,$userid,$passwd) or die print "No hay conexion con la base<br>"; my $t = HTML::Template->new(filename => 'db.tmpl'); $t->param(ROWS => $dbh->selectall_arrayref($query, { Slice => {} })); $dbh->disconnect; print $cgi->header; print $t->output; }; my $Mostrar_Form = sub { my $html = <<EOT <HTML> <BODY> <form> <input type="hidden" id="item" size="6"> <input type="hidden" id="namedItem" size="6"> <input type="text" id="nombre" size="6" value=1 ><br/> <button onclick='jsFunc(formDump(),["out"]);return false' > Buscar </button> <div id="out"> </div> </form> </BODY> </HTML> EOT ; return $html; }; my $pjx = CGI::Ajax->new( 'jsFunc' => $buscando); print $pjx->build_html($q,$Mostrar_Form); # fin Lo que hace este codigo es una busqueda en una base de datos y mostrarla en una tabla creada con un TMPL. El problema es que cuadno imprimo la tabla me sale Content-Type: text/html; charset=ISO-8859-1 1 en la ultima fila de la primera columna. Probe tambien imprimnendo los resultados sin tabla ni nada, pero tambien me sale lo mismo. Que tendria que cambiarle al codigo?? |