Boa tarde, Cheguei agora e já com dúvidas, na verdade conheço o fórum a algum tempo, mas só agora me cadastrei, e aqui aprendi bastante. Vamos a minha case: Estou tentando incluir o cálculo de frete a um carrinho de compras e preciso que o valor do frete seja somado ao subtotal do carrinho. Encontrei a seguinte função para calcular o frete e esta funciona perfeitamente function calculaFrete($cod_servico, $cep_origem, $cep_destino, $peso, $altura='2', $largura='11', $comprimento='16', $valor_declarado='0.50'){
$correios = "http://ws.correios.com.br/calculador/CalcPrecoPrazo.aspx?nCdEmpresa=&sDsSenha=&sCepOrigem=".$cep_origem."&sCepDestino=".$cep_destino."&nVlPeso=".$peso."&nCdFormato=1&nVlComprimento=".$comprimento."&nVlAltura=".$altura."&nVlLargura=".$largura."&sCdMaoPropria=n&nVlValorDeclarado=".$valor_declarado."&sCdAvisoRecebimento=n&nCdServico=".$cod_servico."&nVlDiametro=0&StrRetorno=xml";
$xml = simplexml_load_file($correios);
if($xml->cServico->Erro == '0')
return $xml->cServico->Valor;
else
return false;
}#function frete
No carrinho eu tenho um input para o cliente digitar o seu CEP, aqui começa minha dificuldade, como passar este dado, para adicionar ou remover um item eu uso um link normal <a href='arquivo_processa_carrinho.php?soma=codigo_item'>Adicionar</a>
No input como devo fazer? Tentei da seguinte forma
print '<tr id="trtotal">
<td colspan="5" class="cep"><fieldset>
<label for="cep">CEP:<input type="text" class="diversos" id="cep" name="cep" onkeyup="javascritp:if(this.value.length == 9) ColocaFocus(\'CalcularFreteBt\', event);" onkeypress="SomenteNumero2(event,this,\'#####-###\');" maxlength="9" /></label>
<a href="processa.php?cep=document.getElementById("cep").value\" class="btCalcular"><img title="Calcular" name="CalcularFreteBt" id="CalcularFreteBt" src="http://www.etna.com.br/Imagens/bt_calcular.gif"/></a>
<input type="submit" style="display:none;" id="CalcularFreteBt2" value="" name="CalcularFreteBt2"/></fieldset></td>
<td>
<label>Frete:</label>
<td class="tdsubtotal">R$ '.number_format($_SESSION["frete"],2,',','.').'</td>
</tr>';
Eu pego minha sessão no carrinho assim:
foreach($_SESSION as $campo => $quantidade) {
uso assim para remover uma unidade
if(isset($_GET['rem'])) {
$_SESSION['produto_'.$_GET['rem']]--;
header("Location: ".$pagina);
}
e tentei usar assim para calcular mas não deu certo:
if(isset($_GET['cep'])) {
$_SESSION["cep"]=$_GET['cep'];
$cod_servico="41106";
$cep_origem ="26255170";
$cep_destino=$_GET['cep'];
$peso="0.1";
$_SESSION["frete"]=calculaFrete('40045','26255170','96825150','0.1');;
echo "CEP ".$_GET['cep'];
# header("Location: ".$pagina);
} Como eu devo fazer esta parte, pois eu vou precisar pegar outros valores, como o peso e as dimensões do produto e fazer a verificação se eles estão dentro das medidas dos correios. Desde já agradeço a quem se dispor a me dar uma luz. regina