html + php中的货币转换器

时间:2016-08-18 11:02:20

标签: php html forms

我现在正在编写非常简单的货币转换器,其中包含固定的转换价值。我试图让它在一个包含用于计算的PHP脚本的文件和一个通过post发送数据的表单中工作。我的代码现在看起来像这样:

<?php
$eurToUsd=1.11;
$usdToEur = 0.94;
$eurToPln = 4.39;
$plnToEur = 0.28;
$usdToPln = 3.87;
$plnToUsd = 0.23;

if (isset($_POST['conversionType'])) {

$eurToUsdVal=$_POST['EURtoUSD'];
$usdToEurVal=$_POST['USDtoEUR'];
$eurToPlnVal=$_POST['EURtoPLN'];
$plnToEurVal=$_POST['PLNtoEUR'];
$usdToPLNVal=$_POST['USDtoPLN'];
$plnToUsdVal=$_POST['PLNtoUSD'];
    if ($_POST['EURtoUSD']) {
        echo $eurToUsdVal*$eurToUsd;
    } elseif ($_POST['USDtoEUR']) {
        echo $usdToEurVal*$usdToEur;
    } elseif ($_POST['EURtoPLN']) {
        echo $eurToPlnVal*$eurToPln;
    } elseif ($_POST['PLNtoEUR']) {
        echo $plnToEurVal*$plnToEur;
    } elseif ($_POST['USDtoPLN']) {
        echo $usdToPlnVal*$usdToPln;
    } elseif ($_POST['PLNtousUSD']) {
        echo $plnToUsdVal*$plnToUsd;
    }
}


?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<form action="#" method="POST">
    <label>
        Amount:
        <input type="number" min="0.00" step="0.01" name="cashAmount">
    </label>
    <label>
        Conversion:
        <input type="radio" name="conversionType" value="EURtoUSD" checked> EUR → USD <br>
        <input type="radio" name="conversionType" value="USDtoEUR" > USD → EUR <br>
        <input type="radio" name="conversionType" value="EURtoPLN" > EUR → PLN <br>
        <input type="radio" name="conversionType" value="PLNtoEUR" > PLN → USD <br>
        <input type="radio" name="conversionType" value="USDtoPLN" > USD → PLN <br>
        <input type="radio" name="conversionType" value="PLNtoUSD" > PLN → USD <br>
    </label>
    <input type="submit">
</form>

</body>
</html>

当我试图使用这个转换器时,我会收到错误消息&#34;未定义的索引:EURtoUSD&#34;其他转换也是如此。准确地说,我正在获取此php文件中所有转换的错误列表。我在这里想念什么?

1 个答案:

答案 0 :(得分:3)

非常确定您会收到错误“Undefined index:EURtoUSD”,因为输入文本的名称是conversionType。

所以你要做的就是删除这个

$eurToUsdVal=$_POST['EURtoUSD'];
$usdToEurVal=$_POST['USDtoEUR'];
$eurToPlnVal=$_POST['EURtoPLN'];
$plnToEurVal=$_POST['PLNtoEUR'];
$usdToPLNVal=$_POST['USDtoPLN'];
$plnToUsdVal=$_POST['PLNtoUSD'];

并改变这样的条件

if ($_POST['conversionType'] == "EURtoUSD") {
    echo $eurToUsd*$_POST['conversionType'];
// and so on