首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在html表单上执行计算php脚本

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

Stack Overflow用户
提问于 2017-10-16 06:59:46
回答 3查看 2.1K关注 0票数 0

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

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

我的源代码:

  1. 表格
  2. PHP脚本 对应您的金额,您必须支付: //如何用形式值来重建500个值? //价格表PHP脚本

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-16 07:15:24

如果php代码位于同一个页面上,那么您需要这样做。

代码语言:javascript
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2017-10-16 07:56:29

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

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

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

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

我想这样做:

第一页:

代码语言:javascript
复制
<form action="next-page.php" method="POST">
            <input type="text" name="amount" placeholder="0" />F
            <input name="submit" type="submit" value="CALCULATE"/>
        </form>

第二页

代码语言:javascript
复制
    <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
EN

Stack Overflow用户

发布于 2017-10-16 07:10:24

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

代码语言:javascript
复制
<?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  ?>

这也可以用速记方式完成,具体如下:

代码语言:javascript
复制
<?php $montant = $_POST['amount'] ? (float) $_POST['amount'] : 500; ?>

我知道您没有这样做,但是您也可以简化if/ but集合的几种方式,例如使用数组然后循环它:

代码语言:javascript
复制
<?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
    }
} ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46764570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档