cleysinhonv
(usa Ubuntu)
Enviado em 29/01/2011 - 11:06h
Olá Pessoal,
estou com dificuldade de receber dados de um formulário, enviado por método POST. Vou postar aqui o formulário e o script. Caso alguém possa me ajudar fico grato.
+++++++++++++++++++++++++++++++Formulário++++++++++++++++++++++++++++++++++++++++++++++
<FORM action="/cgi-bin/addform.cgi" method="POST">
Numero sequencia: <input type="text" name="id"> <br>
Reino: <input type="text" name="reino"> <br>
especie: <input type="text" name="especie"> <br>
sequencia:<textarea name="sequencia" cols=40 rows=4>
Type your sequenc here...
</textarea>
<input type="submit" value="Submit">
</FORM>
=========================SCRIPT======================================
#!/usr/bin/perl
#use strict;
#use warnings;
use DBI;
use CGI;
#my $buffer=undef;
#my @pairs=undef;
#my $pair=undef;
#my $name=undef;
#my $value=undef;
#my %FORM=undef;
local ($buffer, @pairs, $pair, $name, $value, %FORM);
# Read in text
$ENV{'REQUEST_METHOD'} =~ tr/a-z/A-Z/;
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN,$buffer = $ENV{'QUERY_STRING'});
}else {
$buffer = $ENV{'QUERY_STRING'};
}
# Split information into name/value pairs
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%(..)/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
my $id = $FORM{id};
my $reino = $FORM{reino};
my $especie = $FORM{especie};
my $sequencia = $FORM{sequencia};
my $dbh = DBI->connect("DBI:mysql:dna:localhost",'root','biopop')
or die ("Não foi possível fazer conexão: " . $DBI::errstr);
#print "Query $sql executada com sucesso.\n";
$dbh->disconnect();
print "Content-type:text/html\r\n\r\n";
print "<html>";
print "<head>";
print "<title>Teste</title>";
print "</head>";
print "<body>";
print "<h2>Inserido $sequencia - Ok</h2>";
print "</body>";
print "</html>";