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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...
Entre para seguir isso  

×
×
  • Criar Novo...