html+php 中的货币转换器

Currency converter in html+php

我现在正在编写具有固定转换值的非常简单的货币转换器。我试图让它在一个文件中工作,该文件包含用于计算的 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>

当我尝试使用此转换器时,出现错误提示 "Undefined index: EURtoUSD",其他转换也是如此。准确地说,我正在为这个 php 文件中的所有转换获取这样的错误列表。我在这里想念什么?

很确定您会遇到错误 "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