我现在正在编写非常简单的货币转换器,其中包含固定的转换价值。我试图让它在一个包含用于计算的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文件中所有转换的错误列表。我在这里想念什么?
答案 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