计算器程序PHP

时间:2014-03-21 13:41:06

标签: php variables calculator calculated-columns

我曾尝试使用php制作简单的计算器程序,但我的代码无效。

<html>
<body>
<?php 
    $a = "";
    $b = "";
    $c = "";
    $jumlah = $a*$b+$c;

    if (!empty($_POST['a']))
    {
        $a =$_POST['a'];
        $b =$_POST ['b'];
        $c = $_POST['c'];
    }
?>

<Table>
    <tr>
        <td>Harga</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $a; ?>"name="Harga"/>
        </td>
    </tr>
    <tr>
        <td>Banyak Barang</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $b; ?>" name="Harga" />
        </td>
    </tr>
    <tr>
        <td>Biaya Kirim</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $c; ?>" name="Harga"/>
        </td>
    </tr>
    <tr>
        <td>Total</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $jumlah; ?>" name="Harga"/>
        </td>
    </tr>
    </tr>
</table> 
</body>
</html>

没有错误,我的程序无法显示计算变量a*b/c

5 个答案:

答案 0 :(得分:1)

移动:

$jumlah = $a*$b+$c;

To After:

   $c = $_POST['c'];
}
$jumlah = $a*$b+$c;

如果您没有提交按钮,请添加一个:

<input type="submit" value="calculate" />

答案 1 :(得分:1)

您似乎认为PHP可以计时旅行:

   $a = "";   <--- string
   $b = "";   <--- string
   $c = "";   <--- string
   $jumlah = $a*$b+$c;    <--- "string * string + string"

然后 AFTER 这个可怕的字符串变形,你最终开始在这些变量中得到一些值:

              if (!empty($_POST['a']))
               {
                 $a =$_POST['a'];

但是当这个特定代码运行时,$jumlah已经定义,并且PHP NOT 时间旅行并追溯更改其值。

答案 2 :(得分:1)

将计算行移动到您已分配变量的行下方。所以将php更改为:

<?php 
 $a = "";
 $b = "";
 $c = "";

 if (!empty($_POST['a']))
 {
      $a =$_POST['a'];
      $b =$_POST ['b'];
      $c = $_POST['c'];
 }
 $jumlah = $a*$b+$c;

?>

答案 3 :(得分:0)

这里的迷你计算器是...迷你脚本。 :-) 称之为calc.php

<form action="./calc.php" onsubmit="" method="post">   
<b>Enter your data: </b>
<br> 
NR 1<input type="text" name="a"><br>
NR 2<input type="text" name="b"><br>
NR 3<input type="text" name="c"><br>
<br> 
<input type="submit" value="Calculate">
</form>
<p style="color:red;">
<?php 
if (!empty($_POST['a']))                   {
$jumlah = $_POST['a']+$_POST['b']+$_POST['c'];   
echo "Your answer= <b>".$jumlah."</b>"; 
}
?></p>

答案 4 :(得分:0)

您的(已发布)代码存在一些问题,请允许我向您指出:

使用表单元素时缺少<form></form>标记和提交按钮(例如 )。

另一个问题是命名的输入元素不匹配。

例如:

<input type="text" class="form-control" value="<?php echo $a; ?>"name="Harga"/>

应该是:

<input type="text" class="form-control" value="<?php echo $a; ?>"name="a"/>

<input type="text" class="form-control" value="<?php echo $b; ?>" name="Harga" />

应该是:

<input type="text" class="form-control" value="<?php echo $b; ?>" name="b" />

<input type="text" class="form-control" value="<?php echo $c; ?>" name="Harga"/>

应该是:

<input type="text" class="form-control" value="<?php echo $c; ?>" name="c"/>

由于表格被调用:( 分别

$a =$_POST['a']; // you presently have name="Harga" as a reference to
$b =$_POST ['b']; // you presently have name="Harga" as a reference to
$c = $_POST['c']; // you presently have name="Harga" as a reference to

使用此:(已测试)

<html>
<body>
<?php

$a = "";
$b = "";
$c = "";

if(isset($_POST['submit'])){
    if (!empty($_POST['a']))
    {
        $a =$_POST['a'];
        $b =$_POST ['b'];
        $c = $_POST['c'];
$jumlah = $a*$b+$c;
echo $jumlah;
    }
}
?>

<form action="" method="post">
<Table>
    <tr>
        <td>Harga</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $a; ?>"name="a"/>
        </td>
    </tr>
    <tr>
        <td>Banyak Barang</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $b; ?>" name="b" />
        </td>
    </tr>
    <tr>
        <td>Biaya Kirim</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $c; ?>" name="c"/>
        </td>
    </tr>
    <tr>
        <td>Total</td>
        <td>
            <input type="text" class="form-control" value="<?php echo $jumlah; ?>" name="Harga"/>

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

<br><br>
    <input type="submit" class="form-control" name="submit"/>
</form>
</body>
</html>