Jump to content
Sign in to follow this  
Over2007

Ajuda Calculadora

Recommended Posts

Over2007

Viva companheiros, estou a tentar dar os primeiros passos no PHP a tentar construir uma calculadora de consumos energéticos mas estou com um problema se me puderem ajudar agradecia. Então é o seguinte a calculadora basicamente esta feita mas não esta a atribuir os valores da multiplicação as variáveis $total_hora , $total_dia , $total_mes , pelo que tenho andado a ler e pesquisar a multiplicação esta bem feita mas não faço ideia porque não funciona.

Codigo html:

<form action="calcula_luz.php" method="post" name="form1" class="total_mes" id="form1">
        
        <br /><br /> <center>Calculadora </center><br /><br /><center>Em Construção</center>
        <table width="900" border="1" cellspacing="2" cellpadding="2">
  <tr>
    <td width="100"><label for="desc">Descrição:</label></td>
    <td width="100"><label for="watts">Potencia (W) : </label></td>
    <td width="100"><label for="horas">Horas :</label></td>
    <td width="100">Tarifa:</td>
    <td width="100">Total / Dia</td>
    <td width="100">Total / Mês</td>
    <td width="100">Total / Mês + Iva 23%</td>
    
    
  </tr>
  <tr>
    <td><input type="text" name="desc" id="desc" /></td>
    <td><input type="text" name="watts" id="watts" /></td>
    <td><select name="horas" id="horas">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
          </select></td>
    <td>
      <select name="tarifa" id="tarifa">
        <option value="0,1027">Tarifas Social até 4,6kVA - menos de 2,3kVA</option>
        <option value="0,1326">Tarifas Social até 4,6kVA - mais de 2,3kVA</option>
        <option value="0,0778">Tarifas Social até 4,6kVA - Bi-Horaria Dentro Vazio</option>
        <option value="0,1448">Tarifas Social até 4,6kVA - Bi-Horaria Fora Vazio</option>
        <option value="0,1027">Tarifas Baixa Tensão Normal até 20,7kVA - menos de 2,3kVA</option>
        <option value="0,1326">Tarifas Baixa Tensão Normal até 20,7kVA - mais de 2,3kVA</option>
        <option value="0,0778">Tarifas Baixa Tensão Normal até 20,7kVA - Bi-Horaria Dentro Vazio</option>
        <option value="0,1448">Tarifas Baixa Tensão Normal até 20,7kVA - Bi-Horaria Fora Vazio</option>
      </select></td>
    <td><?php echo $total_dia;?></td>
    <td><?php echo $total_mes;?></td>
    <td><?php echo $total_mes_iva;?></td>
  </tr>
  <tr>
    
    <p>Preços Janeiro de 2011</p>
    
    
  </tr>
</table>

  <center>      
   <p>
     <input type="submit" name="calcula" id="calcula" value="Submit" />
   </p>
</form>

Codigo PHP

<?php 



//calcula as variaveis com 400w em 12 horas


$kwh = $watts / 1000 ;  //Converter de watts para kilowatt-hora - 0.4
$kwh_dia = $kwh * $horas ; //verifica quantos Kwh gasta nas horas inseridas - 4.8
$kwh_mes = $kwh_dia * 30 ;


$euros_hora = (($kwh * $tarifa) / 100) * 100;
$euros_dia = $kwh_dia * $tarifa;
$euros_mes = $kwh_mes * $tarifa;





echo "KiloWatts gastos numa hora:  "; echo $kwh ; echo " Kwh<br>";
echo "KiloWatts gastos num Dia: "; echo $kwh_dia ; echo " KWh<br>";
echo "KiloWatts gastos num Mês:"; echo $kwh_mes ; echo " KWh<br><br><br>";

echo "Euros gastos numa hora:"; echo $euros_hora  ; echo " €<br>";
echo "Euros gastos num Dia:"; echo $euros_dia ; echo " €<br>";
echo "Euros gastos num Mês:"; echo $euros_mes ; echo " €<br>";






echo "<br><br><br>";
echo "Potencia: " ; echo $watts ; echo " W<br>";
echo "Horas de Uso: " ; echo $horas; echo " Horas<br>";
echo "Preço Kwh: " ; echo $tarifa; echo " €<br>";

?>

Share this post


Link to post
Share on other sites
ruimcosta

Biba,

Aqui tens o teu problema semi-resolvido. Tens de verificar a multiplicação entre os kw e a tarifa. Nao tenho grande tempo para resolver tudo. Abraço.

<?php

if( $_SERVER['REQUEST_METHOD'] == "POST"){
    $watts  = $_POST['watts'];
    $horas  = $_POST['horas'];
    $tarifa = $_POST['tarifa'];
    
    $kwh = $watts / 1000;  //Converter de watts para kilowatt-hora - 0.4
    $kwh_dia = $kwh * $horas ; //verifica quantos Kwh gasta nas horas inseridas - 4.8
    $kwh_mes = $kwh_dia * 30 ;
    
    $euros_hora = $kwh * $tarifa / 100 * 100;
   
    $euros_dia = $kwh_dia * $tarifa;
    $euros_mes = $kwh_mes * $tarifa;
    
    echo "KiloWatts gastos numa hora:  "; echo $kwh ; echo " Kwh<br>";
    echo "KiloWatts gastos num Dia: "; echo $kwh_dia ; echo " KWh<br>";
    echo "KiloWatts gastos num Mês:"; echo $kwh_mes ; echo " KWh<br><br><br>";
    
    echo "Euros gastos numa hora:"; echo $euros_hora  ; echo " €<br>";
    echo "Euros gastos num Dia:"; echo $euros_dia ; echo " €<br>";
    echo "Euros gastos num Mês:"; echo $euros_mes ; echo " €<br>";


}
?>
<form action="calc.php" method="post" name="form1" class="total_mes" id="form1">
        
        <br /><br /> <center>Calculadora do Cultivador - Beta 0.5</center><br /><br /><center>Em Construção</center>
        <table width="900" border="1" cellspacing="2" cellpadding="2">
  <tr>
    <td width="100"><label for="desc">Descrição:</label></td>
    <td width="100"><label for="watts">Potencia (W) : </label></td>
    <td width="100"><label for="horas">Horas :</label></td>
    <td width="100">Tarifa:</td>
    <td width="100">Total / Dia</td>
    <td width="100">Total / Mês</td>
    <td width="100">Total / Mês + Iva 23%</td>
    
    
  </tr>
  <tr>
    <td><input type="text" name="desc" id="desc" /></td>
    <td><input type="text" name="watts" id="watts" /></td>
    <td><select name="horas" id="horas">
            <option value="1">1</option>
            <option value="2">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
            <option value="7">7</option>
            <option value="8">8</option>
            <option value="9">9</option>
            <option value="10">10</option>
            <option value="11">11</option>
            <option value="12">12</option>
            <option value="13">13</option>
            <option value="14">14</option>
            <option value="15">15</option>
            <option value="16">16</option>
            <option value="17">17</option>
            <option value="18">18</option>
            <option value="19">19</option>
            <option value="19">19</option>
            <option value="20">20</option>
            <option value="21">21</option>
            <option value="22">22</option>
            <option value="23">23</option>
            <option value="24">24</option>
          </select></td>
    <td>
      <select name="tarifa" id="tarifa">
        <option value="0,1027">Tarifas Social até 4,6kVA - menos de 2,3kVA</option>
        <option value="0,1326">Tarifas Social até 4,6kVA - mais de 2,3kVA</option>
        <option value="0,0778">Tarifas Social até 4,6kVA - Bi-Horaria Dentro Vazio</option>
        <option value="0,1448">Tarifas Social até 4,6kVA - Bi-Horaria Fora Vazio</option>
        <option value="0,1027">Tarifas Baixa Tensão Normal até 20,7kVA - menos de 2,3kVA</option>
        <option value="0,1326">Tarifas Baixa Tensão Normal até 20,7kVA - mais de 2,3kVA</option>
        <option value="0,0778">Tarifas Baixa Tensão Normal até 20,7kVA - Bi-Horaria Dentro Vazio</option>
        <option value="0,1448">Tarifas Baixa Tensão Normal até 20,7kVA - Bi-Horaria Fora Vazio</option>
      </select></td>
    <td><?php echo $total_dia;?></td>
    <td><?php echo $total_mes;?></td>
    <td><?php echo $total_mes_iva;?></td>
  </tr>
  <tr>
    
    <p>Preços Janeiro de 2011</p>
    
    
  </tr>
</table>
        
  <center>      
   <p>
     <input type="submit" name="calcula" id="calcula" value="Submit" />
   </p>


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
herty

Biba,

Aqui tens o teu problema semi-resolvido. Tens de verificar a multiplicação entre os kw e a tarifa. Nao tenho grande tempo para resolver tudo. Abraço.

ruimcosta dar a solução não é la grande ajuda, quando ele tiver outro problema do gerero vais resolver? :/

Bem é so uma opinião...

Share this post


Link to post
Share on other sites
ruimcosta

Eu sei. Tens razão, mas tb so arranjei a parte de verificar se o pedido veio do Post e 3 linhas na obtançao do valor das caixas. De resto está igual.

Ele tambem tem de partir tijolo:  :wallbash:


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
Over2007

Obrigado companheiros, eu sou adepto de partir tijolo :wallbash: mas a minha área é redes e estou me a iniciar na programação. RuimCosta obrigado pela ajuda e pelo avanço no código. Herty também partilho da mesma opinião, mas por vezes é preciso ter em conta as capacidades de compreensão de quem pede ajuda.

Muito Obrigado

Share this post


Link to post
Share on other sites
ruimcosta

De nada,

Já agora...

Verifica se submeteste o formulário via POST

if( $_SERVER['REQUEST_METHOD'] == "POST"){

Para obteres os dados proveniente de um formulario via POST, é $_POST['nome-do-teu-elemento-html'], se for via GET (via barra de endereço do browser) é substituir o POST por GET.


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.