Ir para conteúdo
Fórum CódigoFonte.net
Entre para seguir isso  
Caluso

auxilio com o perl/cgi

Recommended Posts

O erro esta nas ultimas linhas do script:

print "<p></p><font color='darkGray' size='+2'>",$prod[0],") ",$matr[0],"CM1 +",$matr[5],"CM2 +",$matr[10],"CM3 +",$matr[15],"CM4 > ",$fo[0],"</font>n"; 

print "<p></p><font color='darkGray' size='+2'>",$prod[1],") ",$matr[1],"CM1 +",$matr[6],"CM2 +",$matr[11],"MC3 +",$matr[16],"CM4 > ",$fo[1],"</font>n"; 

print "<p></p><font color='darkGray' size='+2'>",$prod[2],") ",$matr[2],"CM1 +",$matr[7],"CM2 +",$matr[12],"MC3 +",$matr[17],"CM4 > ",$fo[2],"</font>n"; 

print "<p></p><font color='darkGray' size='+2'>",$prod[3],") ",$matr[3],"CM1 +",$matr[8],"CM2 +",$matr[13],"MC3 +",$matr[18],"CM4 > ",$fo[3],"</font>n"; 

print "<p></p><font color='darkGray' size='+2'>",$prod[4],") ",$matr[4],"CM1 +",$matr[9],"CM2 +",$matr[14],"MC3 +",$matr[19],"CM4 > ",$fo[4],"</font>n"; 

Estava faltando apenas uma virgula no final das linhas, pois vc chamava o array $fo mas esqueceras da virgula para fechar a chamada e continuar com o resto do print (o HTML).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, cria uma função para copia e repasse dos dados por GET ou POST pois assim fica mais facil repartir o código.

a que repassasse não estava funcionando e ai acrescentei essa:

sub passadados() {

  if($ENV{'REQUEST_METHOD'} eq 'GET'){

    $buffer=$ENV{'QUERY_STRING'};

  }elsif($ENV{'REQUEST_METHOD'} eq 'POST'){

    read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

  }

  @pares = split(/&/, $buffer);

  foreach $par (@pares) {

    ($nome, $valor) = split(/=/, $par);

    $valor =~ tr/+/ /;

    $valor =~s/%([a-fA-F0-9][a-fA-F0-9])/pack("c",hex($1))/eg;

    $campos{$nome} = $valor;

  }

}

E chamei-a no inico da página ( &passadados(); ) pois assim terá uma função para get e post que funfa numa boa e sem dificuldades de entendimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok, vou fazer , vc chegou a testar e viu funcionando? se desejar lhe envio a pagina criada em HTML que recebe e envia os dados para o programa perl

Compartilhar este post


Link para o post
Compartilhar em outros sites

a funçao é para ser colocada no inicio do programa perl no lugar desta:

$ex=$ENV{'QUERY_STRING'};

@pares=split(/&/,$ex);

for($i=0;$i<=$#pares;$i++){

($chave,$valor)=split(/=/,$pares[$i]);

$valor=~tr/+/ /;

$valor=~s/%(..)/pack("c",hex($1))/ge;

$campos{$chave}=$valor;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função deve ser chamada sim no lugar do código.

Chame-a assim:

&passadados();

Não entendi sobre o funcionamento.

Vc quer gravar os dados (o que já esta fazendo) e depois pegá-los para mostrar?

Do jeito que esta, ele apenas irá pegar os dados enviados, salvar e expor no navegador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim ele a principio so faz isso, mas vou estar incluindo na segunda parte um calculo, que ele dara a resposta da quantidade de cada produto que se deve produzir

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×
×
  • Criar Novo...