Ir para conteúdo
Fórum Script Brasil
  • 0

form HTML dentro Variavel php não envia dados


Carlos Rocha

Pergunta

Ola a todos!

Resolvi em partes meu problema.

O que eu fiz:

Peguei um formulario e coloquei ele todo dentro de uma variavel $FORMULARIO;

Depois dessa variavel, fiz um include para uma pagina (frete.php) que me retornará o resultado do calculo do frete. Eu acho que até não há nehuma novidade né?

Acontece, que nessa pagina frete.php, tem uma chamada para a variavel $FORMULARIO pois, caso o resultado do frete.php dê um numero negativo exibe o erro, mas, caso o frete.php retorne valores do frete, dai exibe o formulario que esta na variavel $FORMULARIO;

Até ai deu para entender?

Bom, até neste ponto, tudo esta correto.

Porem, quando submeto os dados do formulario que esta na variavel $FORMULARIO, os $HTTP_POST_VARS simplemente não vão.

Eis os códigos:

CarrinhoFinal_Conteudo.php

...
   if ($acao=="RECEBE_CEP_SERVICO") {
                  $busca = mysql_query("SELECT * FROM clientes where id='$SESSAOlogin';") or die("A consulta falhou: " . mysql_error());
                  list($id, $nome, $email, $cidade, $estado, $senha, $cpfcnpj, $tel, $cel, $endereco, $numero, $bairro,$cep) = mysql_fetch_row($busca);
                  $FORM_ENDERECO = "
     <FORM METHOD='POST' ACTION='CarrinhoFinal.php?acao=gravar_pedido' name='FORM'>
    <INPUT TYPE='hidden' NAME='FORM' VALUE='FORM'>
    <INPUT TYPE='hidden' NAME='peso_medio' VALUE='$peso_medio'>
    <input type='hidden' name='TENVIO' value='$TENVIO; ?>'>
    <input type='hidden' name='TCEP' value='$TCEP; ?>'>    
    <input type='hidden' name='Id_Cliente' value='$SESSAOlogin; ?>'>          
    <TABLE width='400' align='center'>
    <tr><td colspan='2' align='center'><h2><b>Finalizando Compra<br>Por favor. Confira os dados e preencha corretamente o formulário antes de prosseguir!</b></h2></td></tr>
    <TR>
        <TD>PAGAMENTO </TD>
        <TD>
      <!--
        <div id='cartao' style='display:block;'>oi</div>
        onclick='java script: fecha('cartao');'
        -->
            <INPUT type='radio' NAME='TPGTO' value='MASTERCARD' checked='checked'> MASTERCARD 
            <br>
            <INPUT type='radio' NAME='TPGTO' value='BOLETO'> BOLETO  (&Agrave; Vista)<br>
            <INPUT type='radio' NAME='TPGTO' value='DEPOSITO'>           
             DEP&Oacute;SITO  (&Agrave; Vista)
      </TD>
    </TR>
    <TR>
        <TD>NOME:/RAZ&Atilde;O SOCIAL </TD>
        <TD><INPUT TYPE='text' NAME='TNOME' value='$nome' disabled='disabled'></TD>
    </TR>    
    <TR>
        <TD>CPF/CNPJ:</TD>
        <TD><INPUT TYPE='text' NAME='TCPF' value='$cpfcnpj' disabled='disabled'></TD>
    </TR>
    <TR>
        <TD>EMAIL:</TD>
        <TD><INPUT TYPE='text' NAME='TEMAIL' value='$email' disabled='disabled'></TD>
    </TR>    
    <TR>
        <TD>ENDEREÇO: <font color='red'>(de entrega)</font></TD>
        <TD><INPUT TYPE='text' NAME='TENDERECO' value='$endereco'></TD>
    </TR>
    <TR>
        <TD>BAIRRO:</TD>
        <TD><INPUT TYPE='text' NAME='TBAIRRO' value='$bairro'></TD>
    </TR>
    <TR>
        <TD>CIDADE:</TD>
        <TD><INPUT TYPE='text' NAME='TCIDADE' value='$cidade'></TD>
    </TR>
    <TR>
        <TD>ESTADO:</TD>
        <TD><INPUT TYPE='text' NAME='TESTADO' value='$estado'></TD>
    </TR>
   <TR>
        <TD>FONE (Contato):</TD>
        <TD><INPUT TYPE='text' NAME='TFONE' value='$tel'></TD>
    </TR>    
    <input type='hidden' name='valor_final' value='$valor_final; ?>'>          
   <TR align='center'>
      <TD colspan='2'><input type='submit' name='Finalizar' value='Finalizar'  WIDTH='78' HEIGHT='20' style='background-color: rgb(0,111,55); color: rgb(255,255,0)' onClick='CriticaFormulario()'></TD>
    </TR>
  </TABLE>
</FORM>

                                    "; 
            include ('frete.php');
            }
            }
frete.php
<?php
#####################################
# Código dos Serviços dos Correios  #
#    FRETE PAC = 41106              #
#    FRETE SEDEX = 40010            #
#    FRETE SEDEX 10 = 40215         #
#    FRETE SEDEX HOJE = 40290       #
#    FRETE E-SEDEX = 81019          #
#    FRETE MALOTE = 44105           #
#    FRETE NORMAL = 41017           #
#    SEDEX A COBRAR = 40045         #
#####################################

        $nCdEmpresa          = "";
        $sDsSenha            = "";
        $nCdServico          = $_POST['TENVIO'];
        $sCepOrigem          = 36855000;
        $sCepDestino         = $_POST['TCEP'];
        $sCepDestino         = eregi_replace("([^0-9])","",$sCepDestino);
        $nVlPeso             = $peso_medio;
        $nCdFormato          = 1;
        $nVlComprimento      = 20;
        $nVlAltura           = 20;
        $nVlLargura          = 20;
        $nVlDiametro         = 0;
        $sCdMaoPropria       = "N";
        $nVlValorDeclarado   = 0;
        $sCdAvisoRecebimento = "S";

// URL de Consulta dos Correios entregue à variavel $correios
$correios ="http://shopping.correios.com.br/wbm/shopping/script/CalcPrecoPrazo.aspx?"
."nCdEmpresa=$nCdEmpresa&"
."sDsSenha=$sDsSenha&"
."sCepOrigem=$sCepOrigem&"
."sCepDestino=$sCepDestino&"
."nVlPeso=$nVlPeso&"
."nCdFormato=$nCdFormato&"
."nVlComprimento=$nVlComprimento&"
."nVlAltura=$nVlAltura&"
."nVlLargura=$nVlLargura&"
."sCdMaoPropria=$sCdMaoPropria&"
."nVlValorDeclarado=$nVlValorDeclarado&"
."sCdAvisoRecebimento=$sCdAvisoRecebimento&"
."nCdServico=$nCdServico&"
."nVlDiametro=$nVlDiametro&"
."StrRetorno=xml";

  
$dados_correios = simplexml_load_file($correios);
//print_r($dados_correios);
print "<p>";

$total = $dados_correios->xpath('cServico/Valor'); 
$total = floatval(str_replace(',', '.', $total[0]));
$PrazoEntrega = $dados_correios->xpath('cServico/PrazoEntrega');   
$erros = $dados_correios->xpath('cServico/Erro');   
$ValorAvisoRecebimento = $dados_correios->xpath('cServico/ValorAvisoRecebimento');   


if ($erros[0] != 0)
   {     
       // Tratamento dos Erros
       //CEP de destino inválido
       if ($erros[0] == -3) {
                    Print "CEP de destino inválido.<br> Cloque <a href='java script:window.history.go(-1)'>Aqui</a> e tente um novo CEP!";
                    echo "<script>document.FORM.Finalizar.disabled=true;</script>";
                             }
       //Sistema temporariamente fora do ar. Favor tentar mais tarde.
          else if ($erros[0] == -33) {
                     Print "Sistema dos correios temporariamente fora do ar.<br> Por favor navegue um pouco mais pelo site e após alguns segundos, tente novamente!";
                    echo "<script>document.FORM.Finalizar.disabled=true;</script>";

                                  }              
       //Serviço indisponível para o trecho informado.
       else if ($erros[0] == -6) {
                     echo "<script>alert('Sistema dos correios indisponível para o trecho informado');</script>";
                    session_unregister("MeuCarrinho");
                     echo "<script>document.location='produtos.php?acao=listar'</script>";
                                 }
      //Para qualquer outro erro
       else {
                    Print "CEP de destino inválido ou erro no sistema dos correios.<br> Cloque <a href='java script:window.history.go(-1)'>Aqui</a> e tente um novo CEP!";
                    echo "<script>document.FORM.Finalizar.disabled=true;</script>";
            }
       
   }
else 
   {            
   
                 print     $FORM_ENDERECO;
               switch ($nCdServico) {
                case 41106:
                $nome_servico = " PAC ";
                break;
                case 40010:
                $nome_servico = " SEDEX ";
                break;
                                     }
                                    ?>
<TABLE width='400' align='center'><tr>
    <TD>VALORES:</TD>
    <TD>
<?
              print "O valor da sua compra sem o frete R$ ";
              print number_format($preco_total, 2, ',', '.');
              print "<p>"; 

                print "O valor do envio por ";
              print $nome_servico;
              print " será de: R$";
              print number_format($total, 2, ',', '.');
              print "<p>";
              
              print "O prazo de entrega será de ";
              print $PrazoEntrega[0];
              print " dia(s) úteis";
              print "<p>";
              
              $valor_final = $total + $preco_total;
              print "O valor da tua compra com o frete R$ ";
              print number_format($valor_final, 2, ',', '.');               

?>
    </td></tr></table>    
    <?                                

   }

// Neste exemplo estou colocando apenas PAC e SEDEX
?>

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olha só

Fiz algumas alterações de (falta de atenção) e resolveu.

O problema agora é que eu tenho duas variaveis que estão no arquivo frete.php (são elas $valor_final e $total) que não chegam ao form (que por sua vez é chamado de dentro do frete.php)

Eu preciso dentro de form, chamalas assim:

<input type='hidden' name='valor_final' value='$valor_final'>    
    <input type='hidden' name='TVALOR_FRETE' value='$total'>

Para envialas junto com, o form para o MySql.

Como saio dessa?

Link para o comentário
Compartilhar em outros sites

  • 0
Olha só

Fiz algumas alterações de (falta de atenção) e resolveu.

O problema agora é que eu tenho duas variaveis que estão no arquivo frete.php (são elas $valor_final e $total) que não chegam ao form (que por sua vez é chamado de dentro do frete.php)

Eu preciso dentro de form, chamalas assim:

<input type='hidden' name='valor_final' value='$valor_final'>    
    <input type='hidden' name='TVALOR_FRETE' value='$total'>

Para envialas junto com, o form para o MySql.

Como saio dessa?

Não entendi muito o que o srº está querendo mais vamos tentar ajudar.

Pelo que vi no seu input, você deveria passar um valor qualquer (XX) no lugar das variaveis $valor_final e $total, e recebe-lo no outro arquivo passando para uma variavel dentro do mesmo.

------------------------------------------------------------------------------------------------

http://www.fasim.com.br/verificador Caso esteja na duvida se o site esta fora do ar so para você ou para todos da internet. :ninja:

http://www.fasim.com.br/recados recados para orkut :rolleyes:

http://www.fasim.com.br/emotions emotions para MSN :wacko:

http://www.fasim.com.br/colorir Desenhos para colorir :P

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...