如何在html表单上执行计算php脚本

时间:2017-10-16 06:59:47

标签: php html

我根据价格表制作一个PHP脚本进行计算。我的脚本功能强大,但问题是:我必须直接在源代码中输入值。我想通过简单填写html表单为最终用户提供使用我的脚本而无需任何代码的机会。

我很难在表单上链接我的php脚本来进行此计算。

我的源代码:

  1. FORM

     <center>
         <form action="samepage.php" method="post">
        <input type="text" name="amount" value="0"/>F
        <input name="button" type="submit" id="button" value="CALCULATE"  />         
       </form>
    
        <br>
    
  2. PHP SCRIPT

    对应您的金额,您必须支付:
      //如何使用表单值重新设置500值?

    // THE PRICELIST PHP SCRIPT

    <?php
    if($montant <= 5000){ // If the amount are <= to 500, 200 must add
      echo $montant + 200;
    F </h2>
        </center>
    

    我需要你的帮助,提前致谢!

  3. 我很难在表单上链接我的php脚本来进行此计算。

3 个答案:

答案 0 :(得分:1)

大家好,非常感谢你的帮助!

现在我想在2页上执行相同的脚本。

第一页包含表单,第二页包含PHP脚本。

我的/ else集合很容易理解,我继续使用它。我必须做什么修改才能在2页上执行相同的脚本?

我想这样做:

第一页:

<form action="next-page.php" method="POST">
            <input type="text" name="amount" placeholder="0" />F
            <input name="submit" type="submit" value="CALCULATE"/>
        </form>

第二页

    <strong>Corresponding your Amount, YOU MUST PAY: </strong><br><h2>
        <?php 

        if (isset($_POST['submit'])){
            $montant = $_POST['amount'];
            if ($montant <= 5000) {
                echo $montant + 200;
            } else
            if ($montant <= 10000) {
                echo $montant + 400;
            } else
            if ($montant <= 15000) {
                echo $montant + 600;
            } else
            if ($montant <= 25000) {
                echo $montant + 900;
            } else
            if ($montant <= 35000) {
                echo $montant + 1100;
            } else
            if ($montant <= 50000) {
                echo $montant + 1200;
            } else
            if ($montant <= 75000) {
                echo $montant + 1700;
            } else
            if ($montant <= 100000) {
                echo $montant + 2000;
            } else
            if ($montant <= 150000) {
                echo $montant + 2200;
            } else
            if ($montant <= 200000) {
                echo $montant + 2400;
            } else
            if ($montant <= 250000) {
                echo $montant + 2900;
            } else
            if ($montant <= 300000) {
                echo $montant + 3900;
            } else
            if ($montant <= 400000) {
                echo $montant + 4900;
            } else
            if ($montant <= 200000) {
                echo $montant + 2400;
            } else
            if ($montant <= 750000) {
                echo $montant + 7400;
            } else
            if ($montant <= 1000000) {
                echo $montant + 9900;
            } else
            if ($montant <= 2000000) {
                echo $montant + 14900;
            } else
            if ($montant <= 3000000) {
                echo $montant + 19900;
            }else{

            }
        }
?>
        F</h2>
</center>

答案 1 :(得分:0)

如果您要回发到同一页面,则可以使用以下内容:

<?php if ($_POST['amount']) {
        $montant = (float) $_POST['amount']; // Number cast for security, use (int) to remove decimals
    } else {
        $montant = 500;
    } // How to remplace 500 value on the form value  ?>

这也可以用速记如下:

<?php $montant = $_POST['amount'] ? (float) $_POST['amount'] : 500; ?>

我知道你没有问过,但你也可以通过几种方式简化if / else集合,例如使用数组然后循环它:

<?php $vals = array(3000000 => 19900, 2000000 => 14900, 1000000 => 9900); //etc
foreach ($vals as $total => $additional) {
    // Working down from highest to lowest until we match
    if ($montant <= $total) {
        $montant += $additional; 
        break; // Exit when found
    }
} ?>

答案 2 :(得分:0)

如果php代码在同一页面上,那么你需要这样做。

<center>
        <form action="" method="POST">
            <input type="text" name="amount" placeholder="0" />F
            <input name="submit" type="submit" value="CALCULATE"/>
        </form>
    <br>
    <strong>Corresponding your Amount, YOU MUST PAY: </strong><br><h2>
        <?php 

        if (isset($_POST['submit'])){
            $montant = $_POST['amount'];
            if ($montant <= 5000) {
                echo $montant + 200;
            } else
            if ($montant <= 10000) {
                echo $montant + 400;
            } else
            if ($montant <= 15000) {
                echo $montant + 600;
            } else
            if ($montant <= 25000) {
                echo $montant + 900;
            } else
            if ($montant <= 35000) {
                echo $montant + 1100;
            } else
            if ($montant <= 50000) {
                echo $montant + 1200;
            } else
            if ($montant <= 75000) {
                echo $montant + 1700;
            } else
            if ($montant <= 100000) {
                echo $montant + 2000;
            } else
            if ($montant <= 150000) {
                echo $montant + 2200;
            } else
            if ($montant <= 200000) {
                echo $montant + 2400;
            } else
            if ($montant <= 250000) {
                echo $montant + 2900;
            } else
            if ($montant <= 300000) {
                echo $montant + 3900;
            } else
            if ($montant <= 400000) {
                echo $montant + 4900;
            } else
            if ($montant <= 200000) {
                echo $montant + 2400;
            } else
            if ($montant <= 750000) {
                echo $montant + 7400;
            } else
            if ($montant <= 1000000) {
                echo $montant + 9900;
            } else
            if ($montant <= 2000000) {
                echo $montant + 14900;
            } else
            if ($montant <= 3000000) {
                echo $montant + 19900;
            }else{

            }
        }
?>
        F</h2>
</center>