我根据价格表制作了一个PHP脚本进行计算。我的脚本功能强大,但问题是:我必须在源代码中直接输入值。我想为最终用户提供使用我的脚本而不需要任何代码的机会,只需填写html表单即可。
我很难将我的php脚本链接到表单上来进行计算。
我的源代码:
我很难将我的php脚本链接到表单上来进行计算。
发布于 2017-10-16 07:15:24
如果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>发布于 2017-10-16 07:56:29
大家好,非常感谢你们的帮助!
现在,我想在2页上执行相同的脚本。
第一页包含表单,第二页包含PHP脚本。
我的is/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>发布于 2017-10-16 07:10:24
如果要回发到同一页面,可以使用以下内容:
<?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/ but集合的几种方式,例如使用数组然后循环它:
<?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
}
} ?>https://stackoverflow.com/questions/46764570
复制相似问题