alissong 1 Denunciar post Postado Novembro 21, 2007 Pessoal, Criei um formulário para simular o financiamento. Bom um usuário entra com os dados: Valor do Financiamento Valor da Entrada Valor Financiado = Valor do Financiamento - Valor da Entrada Taxa de Juros Seleciona o prazo = 06, 12 , 18 e 24 meses Data Inclusão Antes de disponibilizar o código vou postar as dúvidas: 1- Como faço para o php fazer a subtração Valor Financiado = Valor do Financiamento - Valor da Entrada 2- Como faço para o php trocar esse valor 1,98 por 1.98 antes de calcular. 3- Como faço para o php obrigar o usuário a selecionar os meses. 4- Como faço para o php somar correto, pois se o valor da parcela 74.72 em 12 meses ele está somando somente 74.00 onze vezes total: R$ 814.00, sendo que o correto seria valor R$ 821,92 Veja o código completo: <? $valor = number_format($_POST['valor_financiamento'], 2, ',','.'); $entrada = number_format($_POST['entrada'], 2, ',','.'); $vl_financiado = number_format($valor - $entrada, 2, ',','.'); $result = number_format($vl_financiado , 2, ',','.'); $taxa = $_POST['taxa']; $taxa = ($taxa/100); $plano = $_POST['n_meses'];// aqui vai receber em quantas vezes o cara vai querer pagar $dia = date("d");//pega o dia atual. $mes = date("m");//pega o mes atual $ano = date("Y");//pega o ano atual $v_mes = $mes; ?> <HTML> <HEAD> <TITLE>Financiamento</TITLE> <script> function ValidaForm() { d = document.financiamento; //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor do financiamento if (d.valor_financiamento.value == ""){ alert("O campo Valor do Financiamento deve ser preenchido!"); d.valor_financiamento.focus(); return false; } //validar valor do financiamento(verificacao se contem apenas numeros) if (isNaN(d.valor_financiamento.value)){ alert("O campo Valor do Financiamento deve conter apenas números!"); d.valor_financiamento.value = ""; d.valor_financiamento.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor entrada if (d.entrada.value == ""){ alert("O campo Valor da Entrada deve ser preenchido!"); d.entrada.focus(); return false; } //validar valor entrada if (d.entrada.value >= d.valor_financiamento) { alert("O campo Valor da Entrada deve ser menor que o Valor do Financiamento!"); d.entrada.focus(); return false; } //validar valor da entrada (verificacao se contem apenas numeros) if (isNaN(d.entrada.value)){ alert("O campo Valor da Entrada deve conter apenas números!"); d.entrada.value = ""; d.entrada.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor da taxa if (d.taxa.value == ""){ alert("O campo Valor da Taxa deve ser preenchido!"); d.taxa.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar data inclusao if (d.data_cadastro.value == ""){ alert("O campo VENCIMENTO deve ser preenchido!"); d.data_cadastro.focus(); return false; } barras = d.data_cadastro.value.split("/"); if (barras.length == 3) { dia = barras[0]; mes = barras[1]; ano = barras[2]; resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) && (!isNaN(ano) && (ano.length == 4) && (ano >= 1900)); if (!resultado) { alert("Formato de DATA inválido!"); d.data_cadastro.value = ""; d.data_cadastro.focus(); return false; } } else { alert("Formato de DATA inválido! Faltou alguma \"/ \""); d.data_cadastro.value = ""; d.data_cadastro.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ } function Soma() { d = document.financiamento; //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //Calcula a diferença var valor_1 = d.financiamento.valor_financiamento.value; var valor_2 = d.financiamento.entrada.value; var result = eval(valor_1 - valor_2); d.financiamento.valor_financiado.value = result; //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ } </script> </HEAD> <BODY> <form name="financiamento" method="POST" action="<? $PHP_SELF ;?>" onSubmit="return ValidaForm();"> <table border="0" width="100%"> <tr> <td>Valor do Financiamento (R$)</td> <td><input name="valor_financiamento" type="text" size="20"></td> </tr> <tr> <td>Entrada (R$)</td> <td><input name="entrada" type="text" size="20" onChange="return Soma()"></td> </tr> <tr> <td>Valor Financiado (R$)</td> <td><input name="valor_financiado" type="text" size="20" readonly="true"></td> </tr> <tr> <td>Taxa de Juro(%)</td> <td><input name="taxa" type="text" size="20"></td> </tr> <tr> <td>Nº Meses</td> <td><input name="n_meses" type="radio" value="6"> 06 meses <input name="n_meses" type="radio" value="12">12 meses <input name="n_meses" type="radio" value="18">18 meses <input name="n_meses" type="radio" value="24">24 meses</td> </tr> <tr> <td>Data Inclusão</td> <td><input name="data_cadastro" type="text" size="20" value="<? echo date("d/m/Y"); ?>"></td> </tr> <tr> <td><input type="submit" value="Calcular"> <input type="reset" value="Limpar"></td> </tr> </table> </form> <table border="1" width="100%"> <tr> <td>Nº Contrato</td> <td>Nº Parcelas</td> <td>Vencimento</td> <td>Taxa</td> <td>Valor</td> <td>Pagamento</td> </tr> <? $total_carrinho = 0; for($i=1;$i<=$plano;$i++){// aqui vai um loop até qtas vezes o usuário escolheu. $total_carrinho += $parcelas; if($v_mes==12) { $v_mes = 1; $ano = $ano+1; } else{ $v_mes++; } $parcelas = number_format((($result) * $taxa) * (pow((1 + $taxa) , $plano)) / (pow((1 + $taxa), $plano) - 1),2,',','.'); echo "<tr>"; echo "<td> $valor</td>"; echo "<td> $i / $plano</td>"; echo "<td> $dia / $v_mes / $ano</td>"; echo "<td> $taxa</td>"; echo "<td> $parcelas</td>"; echo "<td> NAO </td>"; echo "</tr>"; } ?> <tr> <p align="right"><td colspan = "4">Total</td> <td><?=number_format($total_carrinho,2,",",".");?></td> </tr> </table> </BODY> </HTML> Alguém pode me ajudar. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 21, 2007 Opa, seguinte, primeira coisa sempre fazer calculos matemáticos sem a vírgula como decimal, exemplo: 10.000,00 ficar, 10000.00 ok? modifiquei seu código todo ai, pq ele não estava fazendo muita coisa, tirei o java que você colocou para o campo valor financiado, pois se a página já vai dar refresh para fazer a simulação, não precisa de um java mudando, pq o valor dele seria 0 usando a OnChange, ai embaixo está a página, funciona com a register_globals, on ou off.... outra coisa muita importante que você esqueceu, na parte de datas, lembre-se que temos meses com 30, 31 e 28 dias, usei uma função de soma de datas, assim, não aconteceria esse gravíssimo erro..... ocorre algumas mudanças de um ou dois dias, pelo motivo deu fazer a cada 30 dias a contagem, você pode aumentar, seu critério, só que está via array, teria que mudar tudo, fiz isso pq eu to cansado, tah tarde, hehehe, tah f***, era menos trabalhoso fazer isso ai, espero que te ajude, se pensou em fazer a data do vencimento a cada dia 20 por exemplo, utilize a maneira que grandes empresas fazendo, melhores dias para pagamento dia 1, 2, 3, 5, 10, 15, 25, 28. e não os dias 29, 30, 31 pois poderão surgir problemas na cobrança.. abraços e até mais, no final tah o código da função da data... <? if(isset($_POST["submit"])){ //verifica se submit existe $valor = $_POST['valor_financiamento']; $valor = str_replace(".","", $valor); $valor = str_replace(",",".", $valor); $ent = $_POST['entrada']; $ent = str_replace(".","", $ent); $ent = str_replace(",",".", $ent); $vl_financiado = $valor - $ent; $taxa = $_POST['taxa']; $taxa = str_replace(",",".", $taxa); $plano2 = $_POST['n_meses'];// aqui vai receber em quantas vezes o cara vai querer pagar $dia = date("d");//pega o dia atual. $mes = date("m");//pega o mes atual $ano = date("Y");//pega o ano atual $v_mes = $mes; } ?> <HTML> <HEAD> <TITLE>Financiamento</TITLE> <script> function ValidaForm() { d = document.financiamento; //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor do financiamento if (d.valor_financiamento.value == ""){ alert("O campo Valor do Financiamento deve ser preenchido!"); d.valor_financiamento.focus(); return false; } //validar valor do financiamento(verificacao se contem apenas numeros) if (isNaN(d.valor_financiamento.value)){ alert("O campo Valor do Financiamento deve conter apenas números!"); d.valor_financiamento.value = ""; d.valor_financiamento.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor entrada if (d.entrada.value == ""){ alert("O campo Valor da Entrada deve ser preenchido!"); d.entrada.focus(); return false; } //validar valor entrada if (d.entrada.value >= d.valor_financiamento) { alert("O campo Valor da Entrada deve ser menor que o Valor do Financiamento!"); d.entrada.focus(); return false; } //validar valor da entrada (verificacao se contem apenas numeros) if (isNaN(d.entrada.value)){ alert("O campo Valor da Entrada deve conter apenas números!"); d.entrada.value = ""; d.entrada.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor da taxa if (d.taxa.value == ""){ alert("O campo Valor da Taxa deve ser preenchido!"); d.taxa.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar data inclusao if (d.data_cadastro.value == ""){ alert("O campo VENCIMENTO deve ser preenchido!"); d.data_cadastro.focus(); return false; } barras = d.data_cadastro.value.split("/"); if (barras.length == 3) { dia = barras[0]; mes = barras[1]; ano = barras[2]; resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) && (!isNaN(ano) && (ano.length == 4) && (ano >= 1900)); if (!resultado) { alert("Formato de DATA inválido!"); d.data_cadastro.value = ""; d.data_cadastro.focus(); return false; } } else { alert("Formato de DATA inválido! Faltou alguma \"/ \""); d.data_cadastro.value = ""; d.data_cadastro.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ } </script> </HEAD> <BODY> <form name="financiamento" method="POST" action=<?=$_SERVER["PHP_SELF"]?> onSubmit="return ValidaForm();"> <table border="0" width="100%"> <tr> <td>Valor do Financiamento (R$)</td> <td><input name="valor_financiamento" type="text" size="20" <? if(isset($_POST["valor_financiamento"])): echo "value=".$_POST["valor_financiamento"].""; endif; ?>></td> </tr> <tr> <td>Entrada (R$)</td> <td><input name="entrada" type="text" size="20" <? if(isset($_POST["entrada"])): echo "value=".$_POST["entrada"].""; endif; ?>></td> </tr> <tr> <td>Valor Financiado (R$)</td> <td><input name="valor_financiado" type="text" size="20" <? if(isset($vl_financiado)): echo "value=".number_format($vl_financiado, 2, ',','.').""; endif; ?> readonly="true"></td> </tr> <tr> <td>Taxa de Juro(%)</td> <td><input name="taxa" type="text" size="20" value=<? if(isset($taxa)): echo $taxa; endif; ?>></td> </tr> <tr> <td>Nº Meses</td> <td><input name="n_meses" type="radio" value="6" checked> 06 meses <input name="n_meses" type="radio" value="12">12 meses <input name="n_meses" type="radio" value="18">18 meses <input name="n_meses" type="radio" value="24">24 meses</td> </tr> <tr> <td>Data Inclusão</td> <td><input name="data_cadastro" type="text" size="20" value="<? echo date("d/m/Y"); ?>"></td> </tr> <tr> <td><input type="submit" name="submit" value="Calcular"> <input type="reset" value="Limpar"></td> </tr> </table> </form> <? if(isset($_POST["submit"])){ ?> <table border="1" width="100%"> <tr> <td colspan=6>Valor Total a ser Financiado: <?=number_format($vl_financiado, 2, ',','.');?></td> </tr> <tr> <td></td> <td>Nº Parcelas</td> <td>Vencimento</td> <td>Taxa</td> <td>Valor</td> <td>Pagamento</td> </tr> <? $total_carrinho = 0; $parcela = $vl_financiado / $plano2; $calcula_juros = ($parcela * $taxa/100) + $parcela; $financiamento = $calcula_juros * $plano2; for($i=1;$i<=$plano2;$i++){// aqui vai um loop até qtas vezes o usuário escolheu. if($v_mes==12) { $v_mes = 1; $ano = $ano+1; } else{ $v_mes++; } echo "<tr>"; echo "<td> </td>"; echo "<td> $i / $plano2</td>"; echo "<td> $dia / $v_mes / $ano</td>"; echo "<td> $taxa %</td>"; echo "<td> ".number_format($calcula_juros,"2",",",".")."</td>"; echo "<td> NAO </td>"; echo "</tr>"; } ?> <tr> <p align="right"><td colspan = "4">Total</td> <td><?=number_format($financiamento,2,",",".");?></td> </tr> </table> <? } ?> </BODY> </HTML> funcao_data.php <?php // // == Função para subtração e adição de datas ============================================= // Autor: Fernando Barchi Finotti - fbarchi@ig.com.br - UIN# 38189361 // Modificado por: Thiago Filler // Data: 02 Dez 01 // Update : Fernando Barchi Finotti // Data: 15/09/2003 // Obs. Bug quando o mes era 09, não trocava de mes, apenas era somado os dias // LOG Fernando Barchi : Problema foi corrigido. // ============================================================================ /* Data: 14/12/2004 Update: Leandro Ferraz Luvisotto Obs: Corrigido o bug que se entrasse com o dia primeiro do mês e executasse a operação de subtrair data (voltadata) cujo mês anterior o último dia fosse 31 o script escrevia 30, o problema foi corrigido com a inversão do if que checa a condição de qual é o mês de entrada, o script estava entrando 2 vezes na condição do if Ex.: Mês 12 subtraisse -1 igual à 11 ele entraria novamente no if ou você usa elseif nesta condição elseif($mes == "05" || $mes == "07" || $mes == "10" || $mes == "12" ) Exemplo abaixo das duas maneiras que podem ser feitas a correção: // Meses que o antecessor tem 31 dias ----------------------------------------- if($mes == "01" || $mes == "02" || $mes == "04" || $mes == "06" || $mes == "08" || $mes == "09" || $mes == "11"){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 31 . $dia = 31; $mes = $mes -1; // Diminui um mês se o dia zerou . if($mes == 00){ $mes = 12; $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. } } } } // Meses que o antecessor tem 30 dias ----------------------------------------- elseif($mes == "05" || $mes == "07" || $mes == "10" || $mes == "12" ){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 30 . $dia = 30; $mes = $mes -1; // Diminui um mês se o dia zerou . } } } ou // Meses que o antecessor tem 30 dias ----------------------------------------- if($mes == "05" || $mes == "07" || $mes == "10" || $mes == "12" ){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 30 . $dia = 30; $mes = $mes -1; // Diminui um mês se o dia zerou . } } } // Meses que o antecessor tem 31 dias ----------------------------------------- if($mes == "01" || $mes == "02" || $mes == "04" || $mes == "06" || $mes == "08" || $mes == "09" || $mes == "11"){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 31 . $dia = 31; $mes = $mes -1; // Diminui um mês se o dia zerou . if($mes == 00){ $mes = 12; $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. } } } } */ // ============================================================================ function voltadata($dias,$datahoje){ // Desmembra Data ------------------------------------------------------------- if (ereg ("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})", $datahoje, $sep)) { $dia = $sep[1]; $mes = $sep[2]; $ano = $sep[3]; } else { echo "<b>Formato Inválido de Data - $datahoje</b><br>"; } // Meses que o antecessor tem 31 dias ----------------------------------------- if($mes == "01" || $mes == "02" || $mes == "04" || $mes == "06" || $mes == "08" || $mes == "09" || $mes == "11"){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 31 . $dia = 31; $mes = $mes -1; // Diminui um mês se o dia zerou . } if($mes == 00){ $mes = 12; $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. } } } // Meses que o antecessor tem 30 dias ----------------------------------------- elseif($mes == "05" || $mes == "07" || $mes == "10" || $mes == "12" ){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 30 . $dia = 30; $mes = $mes -1; // Diminui um mês se o dia zerou . } if($mes == 00){ $mes = 12; $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. } } } // Mês que o antecessor é fevereiro ------------------------------------------- // // == Correção do voltadata no mês Abril/Março ============================================= // Modificado por: Paulo Roberto Ens pauloens@bruc.com.br // Data: 11 Mai 2005 // ============================================================================ // else //Else adicionado para funcionar o voltadata no mês de Abril/Março { if($ano % 4 == 0 && $ano%100 != 0){ // se for bissexto if($mes == "03" ){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 30 . $dia = 29; $mes = $mes -1; // Diminui um mês se o dia zerou . } if($mes == 00){ $mes = 12; $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. } } } }//fecha se bissexto... else{ // se não for bissexto if($mes == "03" ){ for ($cont = $dias; $cont > 0; $cont--){ $dia--; if($dia == 00){ // Volta o dia para dia 30 . $dia = 28; $mes = $mes -1; // Diminui um mês se o dia zerou . } if($mes == 00){ $mes = 12; $ano = $ano - 1; // Se for Janeiro e subtrair 1 , vai para o ano anterior no mês de dezembro. } } } } }//Termina else dos meses // Confirma Saída de 2 dígitos ------------------------------------------------ if(strlen($dia) == 1){$dia = "0".$dia;} if(strlen($mes) == 1){$mes = "0".$mes;} // Monta Saída ---------------------------------------------------------------- $nova_data = $dia."/".$mes."/".$ano; print $nova_data; } //fecha função // // == Função para adição de datas ============================================= // Autor: Fernando Barchi Finotti - fbarchi@ig.com.br // Modificado por: Tripa Seca @ phpbrasil.com // Data: 02 Dez 01 // ============================================================================ // function somadata($dias,$datahoje){ // Desmembra Data ------------------------------------------------------------- if (ereg ("([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})", $datahoje, $sep)) { $dia = $sep[1]; $mes = $sep[2]; $ano = $sep[3]; } else { echo "<b>Formato Inválido de Data - $datahoje</b><br>"; } $i = $dias; for($i = 0;$i<$dias;$i++){ if ($mes == "01" || $mes == "03" || $mes == "05" || $mes == "07" || $mes == "08" || $mes == "10" || $mes == "12"){ if($mes == 12 && $dia == 31){ $mes = 01; $ano++; $dia = 00; } if($dia == 31 && $mes != 12){ $mes++; $dia = 00; } }//fecha if geral if($mes == "04" || $mes == "06" || $mes == "09" || $mes == "11"){ if($dia == 30){ $dia = 00; $mes++; } }//fecha if geral if($mes == "02"){ if($ano % 4 == 0 && $ano % 100 != 0){ //ano bissexto if($dia == 29){ $dia = 00; $mes++; } } else{ if($dia == 28){ $dia = 00; $mes++; } } }//FECHA IF DO MÊS 2 $dia++; }//fecha o for() // Confirma Saída de 2 dígitos ------------------------------------------------ if(strlen($dia) == 1){$dia = "0".$dia;}; if(strlen($mes) == 1){$mes = "0".$mes;}; // Monta Saída ---------------------------------------------------------------- $nova_data = $dia."/".$mes."/".$ano; print $nova_data; }//fecha a funçâo data ?> Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 25, 2007 IntDigital, Desculpe-me em não responder rápido, mas esse final de ano no meu serviço está osso. Bom vamos ao que interessa: 1- Ficou show com suas mudança, mas a sua formulário está errada. 2- Exemplo: Valor do financiamento = 4.000,00 em 12 vezes e taxa = 1.5% o resultado na sua formula é 338,33, mas o correto é 366,72 testado na HP 12c. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 25, 2007 1,5 % ao mês ? Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 25, 2007 IntDigital, Com suas alterações se usuário digita: 1,5 transforma em 0.015 1.5 transforma em 0.015 Isso está correto, pois para calcular o juro a taxa deve está em valor absoluto. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 25, 2007 pois eh, só não entendi você ter falado que o valor deu diferente.. esse juros de 1,5 ele eh em cima do valor total do financiamento, ou em cima de cada parcela, e aumentando ? se for ao mês, não é dificil fazer não... só ver, juros de 1,5% ao mês... verificar quantos meses que vai pagar, exemplo, 10 meses... juros total 15% colocaria o valor de 15% no valor total a ser financiado, e divide por 10 que é são os meses de parcelamento.. Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 25, 2007 IntDigital, Quando usamos o calculo juros de financiamento, devemos usar a formular de juros compostos. Veja como ficou. <? if(isset($_POST["submit"])){ //verifica se submit existe $valor = $_POST['valor_financiamento']; $valor = str_replace(".","", $valor); $valor = str_replace(",",".", $valor); $ent = $_POST['entrada']; $ent = str_replace(".","", $ent); $ent = str_replace(",",".", $ent); $vl_financiado = $valor - $ent; $taxa = $_POST['taxa']; $taxa = str_replace(",",".", $taxa); $taxa = ($taxa/100); $plano2 = $_POST['n_meses'];// aqui vai receber em quantas vezes o cara vai querer pagar $dia = date("d");//pega o dia atual. $mes = date("m");//pega o mes atual $ano = date("Y");//pega o ano atual $v_mes = $mes; } ?> <HTML> <HEAD> <TITLE>Financiamento</TITLE> <script> function ValidaForm() { d = document.financiamento; //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor do financiamento if (d.valor_financiamento.value == ""){ alert("O campo Valor do Financiamento deve ser preenchido!"); d.valor_financiamento.focus(); return false; } //validar valor do financiamento(verificacao se contem apenas numeros) if (isNaN(d.valor_financiamento.value)){ alert("O campo Valor do Financiamento deve conter apenas números!"); d.valor_financiamento.value = ""; d.valor_financiamento.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor entrada if (d.entrada.value == ""){ alert("O campo Valor da Entrada deve ser preenchido!"); d.entrada.focus(); return false; } //validar valor entrada if (d.entrada.value >= d.valor_financiamento) { alert("O campo Valor da Entrada deve ser menor que o Valor do Financiamento!"); d.entrada.focus(); return false; } //validar valor da entrada (verificacao se contem apenas numeros) if (isNaN(d.entrada.value)){ alert("O campo Valor da Entrada deve conter apenas números!"); d.entrada.value = ""; d.entrada.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar valor da taxa if (d.taxa.value == ""){ alert("O campo Valor da Taxa deve ser preenchido!"); d.taxa.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ //validar data inclusao if (d.data_cadastro.value == ""){ alert("O campo VENCIMENTO deve ser preenchido!"); d.data_cadastro.focus(); return false; } barras = d.data_cadastro.value.split("/"); if (barras.length == 3) { dia = barras[0]; mes = barras[1]; ano = barras[2]; resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) && (!isNaN(ano) && (ano.length == 4) && (ano >= 1900)); if (!resultado) { alert("Formato de DATA inválido!"); d.data_cadastro.value = ""; d.data_cadastro.focus(); return false; } } else { alert("Formato de DATA inválido! Faltou alguma \"/ \""); d.data_cadastro.value = ""; d.data_cadastro.focus(); return false; } //_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_* *_*_*_*_*_*_*_*_ } </script> </HEAD> <BODY> <form name="financiamento" method="POST" action=<?=$_SERVER["PHP_SELF"]?> onSubmit="return ValidaForm();"> <table border="0" width="100%"> <tr> <td>Valor do Financiamento (R$)</td> <td><input name="valor_financiamento" type="text" size="20" <? if(isset($_POST["valor_financiamento"])): echo "value=".$_POST["valor_financiamento"].""; endif; ?>></td> </tr> <tr> <td>Entrada (R$)</td> <td><input name="entrada" type="text" size="20" <? if(isset($_POST["entrada"])): echo "value=".$_POST["entrada"].""; endif; ?>></td> </tr> <tr> <td>Valor Financiado (R$)</td> <td><input name="valor_financiado" type="text" size="20" <? if(isset($vl_financiado)): echo "value=".number_format($vl_financiado, 2, ',','.').""; endif; ?> readonly="true"></td> </tr> <tr> <td>Taxa de Juro(%)</td> <td><input name="taxa" type="text" size="20" value=<? if(isset($taxa)): echo $taxa; endif; ?>></td> </tr> <tr> <td>Nº Meses</td> <td><input name="n_meses" type="radio" value="6" checked> 06 meses <input name="n_meses" type="radio" value="12">12 meses <input name="n_meses" type="radio" value="18">18 meses <input name="n_meses" type="radio" value="24">24 meses</td> </tr> <tr> <td>Data Inclusão</td> <td><input name="data_cadastro" type="text" size="20" value="<? echo date("d/m/Y"); ?>"></td> </tr> <tr> <td><input type="submit" name="submit" value="Calcular"> <input type="reset" value="Limpar"></td> </tr> </table> </form> <? if(isset($_POST["submit"])){ ?> <table border="1" width="100%"> <tr> <td colspan=6>Valor Total a ser Financiado: <?=number_format($vl_financiado, 2, ',','.');?></td> </tr> <tr> <td></td> <td>Nº Parcelas</td> <td>Vencimento</td> <td>Taxa</td> <td>Valor</td> <td>Pagamento</td> </tr> <? $total_carrinho = 0; $parcelas = (($vl_financiado) * $taxa) * (pow((1 + $taxa) , $plano2)) / (pow((1 + $taxa), $plano2) - 1); $financiamento = $parcelas * $plano2; for($i=1;$i<=$plano2;$i++){// aqui vai um loop até qtas vezes o usuário escolheu. if($v_mes==12) { $v_mes = 1; $ano = $ano+1; } else{ $v_mes++; } echo "<tr>"; echo "<td> </td>"; echo "<td> $i / $plano2</td>"; echo "<td> $dia / $v_mes / $ano</td>"; echo "<td> $taxa %</td>"; echo "<td> ".number_format($parcelas,"2",",",".")."</td>"; echo "<td> NAO </td>"; echo "</tr>"; } ?> <tr> <p align="right"><td colspan = "4">Total</td> <td><?=number_format($financiamento,2,",",".");?></td> </tr> </table> <? } ?> </BODY> </HTML> Só um coisa:O difícil não é fazer o sistema, mas descobrir erros neles. Então testando superficial descobrir isso: 1- Valor do Financiamento = 4000,00 2- Taxa = 1,8 3- Nº Meses = 12 4- Parcelas = 373,61 5- Total = 4.483,29 Mas se multiplicar 373,61 x 12 = 4.483,32 Estou percebendo que ao somar o total o sistema está considerando 4 casas decimais. Exemplo: 373,6079 x 12 = 4.483,29 Tem como resolver isso. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 25, 2007 ok, eu vou dar uma olhada nisso ai, mas isso é coisa da função number_format ela que monta esse arredondamento entende ? eu vou colocar aqui o código com a data, que não te passei, ai já está com as modificações que você fez ai... ok ? ai eu vou rever isso que você disse ai... <? include "funcao_data.php"; if(isset($_POST["submit"])){ //verifica se submit existe $valor = $_POST['valor_financiamento']; $valor = str_replace(".","", $valor); $valor = str_replace(",",".", $valor); $ent = $_POST['entrada']; $ent = str_replace(".","", $ent); $ent = str_replace(",",".", $ent); $vl_financiado = $valor - $ent; $taxa = $_POST['taxa']; $taxa = str_replace(",",".", $taxa); $taxa = ($taxa/100); $plano2 = $_POST['n_meses'];// aqui vai receber em quantas vezes o cara vai querer pagar $dia = date("d");//pega o dia atual. $mes = date("m");//pega o mes atual $ano = date("Y");//pega o ano atual $v_mes = $mes; } ?> <HTML> <HEAD> <TITLE>Financiamento</TITLE> </HEAD> <BODY> <form name="financiamento" method="POST" action=<?=$_SERVER["PHP_SELF"]?> onSubmit="return ValidaForm();"> <table border="0" width="100%"> <tr> <td>Valor do Financiamento (R$)</td> <td><input name="valor_financiamento" type="text" size="20" <? if(isset($_POST["valor_financiamento"])): echo "value=".$_POST["valor_financiamento"].""; endif; ?>></td> </tr> <tr> <td>Entrada (R$)</td> <td><input name="entrada" type="text" size="20" <? if(isset($_POST["entrada"])): echo "value=".$_POST["entrada"].""; endif; ?>></td> </tr> <tr> <td>Valor Financiado (R$)</td> <td><input name="valor_financiado" type="text" size="20" <? if(isset($vl_financiado)): echo "value=".number_format($vl_financiado, 2, ',','.').""; endif; ?> readonly="true"></td> </tr> <tr> <td>Taxa de Juro(%)</td> <td><input name="taxa" type="text" size="20" value=<? if(isset($taxa)): echo $taxa; endif; ?>></td> </tr> <tr> <td>Nº Meses</td> <td><input name="n_meses" type="radio" value="6" checked> 06 meses <input name="n_meses" type="radio" value="12">12 meses <input name="n_meses" type="radio" value="18">18 meses <input name="n_meses" type="radio" value="24">24 meses</td> </tr> <tr> <td>Data Inclusão</td> <td><input name="data_cadastro" type="text" size="20" value="<? echo date("d/m/Y"); ?>"></td> </tr> <tr> <td><input type="submit" name="submit" value="Calcular"> <input type="reset" value="Limpar"></td> </tr> </table> </form> <? if(isset($_POST["submit"])){ ?> <table border="1" width="100%"> <tr> <td colspan=6>Valor Total a ser Financiado: <?=number_format($vl_financiado, 2, ',','.');?></td> </tr> <tr> <td></td> <td>Nº Parcelas</td> <td>Vencimento</td> <td>Taxa</td> <td>Valor</td> <td>Pagamento</td> </tr> <? $total_carrinho = 0; $parcelas = (($vl_financiado) * $taxa) * (pow((1 + $taxa) , $plano2)) / (pow((1 + $taxa), $plano2) - 1); $financiamento = $parcelas * $plano2; $dias = array("","","30","60","90","120","150","180","210","240","270","300","330","360","390","420","450","480","510","540","570","600","630","660"); for($i=1;$i<=$plano2;$i++){// aqui vai um loop até qtas vezes o usuário escolheu. echo "<tr>"; echo "<td> </td>"; echo "<td> $i / $plano2</td>"; echo "<td>"; if($i == 1){ echo $_POST["data_cadastro"]; }else{ $data_view = somadata($dias[$i], $_POST["data_cadastro"]); } echo "</td>"; echo "<td> $taxa %</td>"; echo "<td> ".number_format($parcelas,"2",",",".")."</td>"; echo "<td> NAO </td>"; echo "</tr>"; } ?> <tr> <p align="right"><td colspan = "4">Total</td> <td><?=number_format($financiamento,2,",",".");?></td> </tr> </table> <? } ?> </BODY> </HTML> abraços Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 25, 2007 tem nada haver com arredondar nao, mas como estamos fazendo os calculos dentro de uma string, se tiver 20 casas decimais, ele vai fazer a conta com ela, acho que a solução e colocar os calculos dentro de uma number format, depois você me explica ai o por que desses pow, nao entendi o pq matemático disso, se é uma simples porcentagem.... mas coisas pra quem tem uma HP 12c... hahahahahaha abraços Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 25, 2007 IntDigital, Amanhã testarei esse novo código. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 25, 2007 vamos lah, tenta assim: PHP //adicionar essa linha$calculo1 = number_format((($vl_financiado) * $taxa) * (pow((1 + $taxa) , $plano2)), 2, ',',''); //alterar essa linha $parcelas = number_format($calculo1 / (pow((1 + $taxa), $plano2) - 1), 2, ',',''); abraços, usando os mesmos 4.000,00 ele retornou aqui.. parcelas de R$ 372,00. Total: 4.464,00 a prova real bateu com o resultado... irmãozinho, desculpe a falha troca as vírgulas por pontos nas linhas que eu postei ai em cima... PHP //adicionar essa linha$calculo1 = number_format((($vl_financiado) * $taxa) * (pow((1 + $taxa) , $plano2)), 2, '.',''); //alterar essa linha $parcelas = number_format($calculo1 / (pow((1 + $taxa), $plano2) - 1), 2, '.',''); o resultado foi para: 373,62, total de: 4.483,44 e prova real tb bateu... Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 25, 2007 IntDigital, 1- Não entendi quais virgulas que é para trocá-las por ponto e virgula. 2- Você nunca pode fazer calculos de juros usando a formula de juros simples quando o tempo for mais de um mês, dia, ano, semestre, quadrimestre, bimestre, etc.. e sim, juros compostos.Exemplo: M= Montante => ? C= Capital => 15000,00 i= taxa => 1,5 a.m que é igual a 0,015 t= tempo => 4 meses ^=potência Formula => M=C*(1+i)^t Resultado = 15.920,45 3- pow é potenciação em php que há ^ no excel ou visual basic. 4- os juros simples são usandos nas instituições financeiras para desconto de cheques, pois eles emprestam a juros compostos e o desconto do cheque é juros simples. É isso aí cara, no Brasil a bancada das instituições financeiras no congresso é muito forte, e nós pobre mortais se quiser um melhor desconto tem que entrar na justiça, mas nesse país a justiça é paga e muito caro. Por isso que a justiça trata os iguais de forma iguais e os desiguais de forma desiguais. Direito Romano. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 25, 2007 é entendi, eu vi você colocando pow() na função, sei que é pontencia, imaginei que seria uma possível fórmula realmentemente, mas muito bom você ter explicado isso da porcentagem, essa porcentagem composta, não sabia disso... mas com relação ao que eu falei da vírgula, foi pq eu mandei um post com uma linha para adicionar, e outra para trocar, e o que eu to fazendo é simplesmente transformando os resultados em 2 casas decimais, se fizer o calculo da expressão como você colocou, se o resultado tiver várias casas decimais o sistema irá fazer os calculos com ele, que é onde vai te dar trabalho por diferença de centavos.. então dessa forma que eu te falei ele não vai ter esse tipo te problema... entende ? então, usa o segundo código do post que eu mandei.. onde no primeiro eu usei virgula na number_format, mas é ponto... PHP //adicionar essa linha$calculo1 = number_format((($vl_financiado) * $taxa) * (pow((1 + $taxa) , $plano2)), 2, '.',''); //alterar essa linha $parcelas = number_format($calculo1 / (pow((1 + $taxa), $plano2) - 1), 2, '.',''); 1- Valor do Financiamento = 4.000,00 2- Taxa = 1,8 3- Nº Meses = 12 4- Parcelas = 373,62 5- Total = 4.483,44 e se multiplicar 12 x 373,62 é igual a 4.483,44 testa ae, vai dar certinho... abraços.. e obrigado por me falar desse juros... (Y) e desculpe minha ignorância... se precisar eu mando o código completo como ficou, mas as mudanças seriam soh dessas 2 linhas para funcionar direitinho... adicionar aquela $calculo1... e trocar o valor da $parcelas. beleza ? Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 26, 2007 IntDigital, Ficou show, mas sobre juros tenho obrigação de saber um pouco, pois passei cinco anos na Universidade entre esses um semestre como usar a calculadora HP 12c. Então, precisando de ajuda em calculo financeiro tenho o prazer em ajudá-lo. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 26, 2007 alissong postei o script ainda mais melhorado, agora a parte visual, e com AJAX, no subfórum de laboratório de scripts ok ? abraços Apolo Lira. http://forum.imasters.com.br/index.php?showtopic=259813 Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 27, 2007 Apolo Lira, Dei uma olha no script ficou show, mas a função_data.php está exibindo na primeira parcela a data atual do sistema ou a data digitada pelo usuário, isso não pode, pois no Brasil a serie de capitais uniformes é no sistema END. Veja explicação: 2.4. SÉRIES DE CAPITAIS UNIFORMES A utilização da HP 12C para série de capitais segue os mesmos passos da utilização da HP 12C no regime de juros compostos, observando apenas que para séries postecipadas é preciso ativar a função azul END ( g END ) e para séries antecipadas ativamos a função azul BEG ( g BEG ). 1- Erro => Se o usuário digita a data assim, 26/11/07 exibe erro.2- Erro => Não entendi o por que as data estam variando. Nº Parcela Vencimento Taxa Valor da Parcela Pagamento 1 / 6 26/11/2007 0.015 % R$ 1.755,29 NAO 2 / 6 26/12/2007 0.015 % R$ 1.755,29 NAO 3 / 6 25/01/2008 0.015 % R$ 1.755,29 NAO 4 / 6 24/02/2008 0.015 % R$ 1.755,29 NAO 5 / 6 25/03/2008 0.015 % R$ 1.755,29 NAO 6 / 6 24/04/2008 0.015 % R$ 1.755,29 NAO R$ 10.531,74 Corrigindo isso, o sistema fica completo. E, você merece um prêmio. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 27, 2007 fala alissong, esse erro da data se digitar o ano errado, foi simplesmente pq não validamos as datas.. mas isso é mole, dá para implementar, com relação a variação da data, é o seguinte, se o usuário colocar a primeira parcela com o dia 31/12/2007, o q acontecia antes, era o mesmo dia para todas as parcelas, ou seja, em fevereiro nós não temos 31 dias, e vários outros meses, por isso essa função ela repara esse erro, se não quiser essa variação do dia, o usuário teria que opitar para um melhor dia de pagamento, como as grandes empresa fazem, dia 1, 2, 3, 4, 5.... e 28. 29,30,31 não, pelo motivo de alguns meses não terem esse dias.. mesmo assim não minha opinião, não se eh melhor fazer dessa forma, mas fica a critério, e o motivo da data alterar os dias, é que a cada resultado, ele conta 30 dias, por isso da essa diferença de dias.. a solução seria fazer isso, esse lance de melhor dia ai... eu coloquei o script lah no laboratório de scripts para isso mesmo, pra galera que precisar, modificar e colocar uma nova versão lá... abraços. Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 27, 2007 Apolo Lira, Tenho um sistema de compras em visual basic 06 que construir, mas estou tentando transformá-lo em php + postgresql versão 8.1 para windows. 1- Dúvida: Isso é possível. 2- Dúvida: Faço esses códigos no frontpage ou bloco de nota, mas vejo vocês falando no programa Macromedia Dreamweaver MX a lincença é muito caro. 3- Dúvida: Na empresa tenho um computador que fica ligado 24h, mas quero usá-lo como servidor do site. Na intranet está funcionando até onde desenvolvi, mas posso usá-lo para publicação do site. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites
IntDigital.com.br 0 Denunciar post Postado Novembro 27, 2007 Alissong, possível é sim... e você ainda pode usar o mesmo banco de dados, mudando somente a aplicação, aigora você chegou a pegar alguns livros ? de repente tenta pegar uns livros sobre PHP, é muito bom também, e além claro de visitar sempre o imasters, ajaxonline, wmonline, phpbrasil.com, phpdemos.com.br (nao com o intuito de pegar e script pronto, isso jamais, mas de aprender realmente). é pelos seu código que você me mandou eu bem achei q você tinha usado o frontpage, eu nao gosto do DW nao, pode ser cara a licença, mas nao, esses programas acabam colocando coisa de mais no código, prefiro em algo limpo, que eu sei o que to colocando, no caso, uso o www.phpeditor.kit.net programa leve, free, não tem nada demais, eh um bloco de notas evoluído, acostomei com ele, e nao adianta, nao consigo deixar de usar. Servidor, é essa máquina ligada ai, ela pode ser legal por ela jah estah na empresa, mas veja bem, o que você vai precisar fazer de segurança para colocar essa máquina em contato com o teu site, putzz, muita coisa, ai vem ainda o tipo de conexão banda larga, tem conexão que o firewall não permite você fazer isso, e depois vem velocidade, imagina só, empresas atacenters tem GBs de link de transmissão de dados e voz, outra coisa tem equipe 24 horas de segurança... bom eu faria o seguinte, é importante fazer a aplicação em PHP, beleza, colocaria em um servidor, locaweb, hostnet, tem um monte que são boas aí, e faria um ambiente seguro, no imasters e nesses outros sites tem muita coisa sobre segurança.... Eu mesmo tô fazendo um sistema para uma empresa de Administração, ele vai coordernar a empresa inteira, caixa, fluxo de caixa, ordem de serviço, produtos (categorias, fabricantes, fornecedores), cliente (física e jurídica), estoque, cotação de produtos, departamentos, funcionários, mensagens instantaneas, mas agora precisa se preocupar com o visual... ele é muito importante... tô colocando ai 4 imagens desse sistema... tá sendo desenvolvido todo em PHP, MySQL, CSS, xHTML, e muita funcionalidade de Ajax e XML (somente o necessário, para facilitar para os usuários do sistema), repara os ícones, temos que criar uma interface bem agradável para o nosso cliente, ainda mais algo que seria visto todos os dias, por toda a empresa....precisa ser leve, e funcional.... Abraços, Apolo Lira Compartilhar este post Link para o post Compartilhar em outros sites
alissong 1 Denunciar post Postado Novembro 28, 2007 Apolo Lira, O sistema que construir em visual basic 06 consiste em: cadastro de fornecedor, cadastro do empenho, cadastro departamento, cadastro produto/serviço, pedido de orçamento, pedido de compra/serviço e envio de e-mail, consulta e relatório. O sistema é muito bom, mas como nem um sistema é completo. Algumas desvantagens 1- Qualquer problema na máquina do usuário, preciso instalá-lo tudo de novo: ODBC e o executável. Então criei um autoupdate, mas tem usuário que não consegue instalá-lo por falta de interesse e fica me ligando no setor. 2- Quando faço atualização no sistema os usuários ficam me ligando se é necessário atualizar o sistema. Bom, então vamos ao que interesse. Comprei dois livros de php: 1- PHP para quem conhece PHP; 2 - Como criar web pages rápidas e eficientes usando php e mysql. Fiquei feliz em saber que é possível a transformação de VB06 para PHP versão 5.2.3, mas preciso saber mais sobre HTML, pois a minha maior dificuldade é na dimensão da página principal por que de acordo a resolução da área de tela: 600x800 ou 1024x768 do usuário, como manter o site ajustado e usar a função email() do php no windows. Contudo, como você faz os ícones desse site que colou na mensagem anterior. Por que no vb06 eles existem, mas no php sei que são imagens em jpg ou gif. Um abraço. Alissong Compartilhar este post Link para o post Compartilhar em outros sites