Jump to content


gelli

Member Since 15/03/2009
Offline Last Active 21/03/2009, 06:40
-----

Posts I've Made

In Topic: Busca Cep

15/03/2009, 20:36

######################
Alguem aí possui ou sabe onde tem um codigo que busca endereço de CEP, e se possível ainda, que faça o cálculo do frete via correios...
#######################

Olá Rafael,
Realmente está uma dureza achar algum código sobre isso. Parece que os programadores estão de férias, faz muito tempo.

Acontece também que os códigos de usam os dados dos Correios páram de funcionar qdo o Site dos Correios é modificado

Juntei umas linhas de código de vários lugares e tenho um programinha em PHP que está funciando (agora em 2009 está)
Ele calcula o valor do Sedex mas do endereço só mostra se é interior ou capital.

<?php
function calcula_frete($cep_org,$cep_dst,$peso,$mao,$valor,$aviso) {
/**********************************************
VARIAVEIS
*********************************************
$CEP_ORG - CEP DE ORIGEM
$CEP_DST - CEP DE DESTINO
$PESO - PESO DA ENCOMENDA
$MAO - ENTREGA EM MAOS ( DEFINIR (S)- SIM OU (n)-NAO
$VALOR - VALOR DECLARADO DO CONTEUDO (FORMATO COM VIRGULA: 10,00)
*/
$url="http://www.correios.com.br/encomendas/precos/calculo.cfm?resposta=paginaCorreios&servico=40010&cepOrigem={$cep_org}&cepDestino={$cep_dst}&peso={$peso}&MaoPropria={$mao}&valorDeclarado={$valor}&avisoRecebimento={$aviso}";
$html = implode("", file($url));
$html = explode('<td align="center" colspan="2">', $html);
/*echo $html;*/
echo " 1- ";
echo $html[1];
echo "<br> 2- ";
echo $html[2];
echo "<br> 3- ";
echo $html[3];
echo "<br> 4- ";
echo $html[4];
echo "<br> 5- ";
$FRETE=$html[5];
echo $FRETE;
$html = $html[5];

$html = explode("<b>",$html);
$html = $html[1];
$html = explode("</b>",$html);

return str_replace(',', '.', substr($html[0], 3));
}
/* $cep_org, $cep_dst,$peso,$mao,$valor,$aviso*/
$valFrete = calcula_frete($cep_org,$cep_dst,$peso, "N",$valor,"N");
?>

<!--/****** html ****************************************/-->
<? if ($cep_org==0){$cep_org=13219043;}?>
<? if ($peso==0){$peso=1;}?>
<form method="POST" action=cepForm.php>
<div align="center">
<table>
<tr>
<td colspan="2">
<p align="center">Cálculo de frete dos Correios</td>
</tr> <tr>
<td>CEP Origem</td>
<td><input type="text" name="cep_org" size="20" value="<?=$cep_org;?>"></td>
</tr>
<tr>
<td>CEP Destino</td>
<td><input type="text" name="cep_dst" size="20" value="<?=$cep_dst;?>"></td>
</tr>
<tr>
<td>Valor Declarado</td>
<td><input type="text" name="valor" size="20" value="<?=$valor;?>"></td>
</tr>
<tr>
<td>Peso da Caixa</td>
<td><input type="text" name="peso" size="20" value="<?=$peso;?>"></td>
</tr>
<tr>
<td>Valor do Frete</td>
<td><input type="text" name="Frete" size="20" value="<?=$valFrete;?>"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Buscar" name="buscar"></td>
</tr>
</table>
</div>
</form>
#######################################
Atenção: O nome do pgm tem que ser o mesmo que está no comando "action"

Qualque dúvida mande e-mail

IPB Skin By Virteq