2016-08-18 5 views
0

私は変換の固定値を持つ非常に単純な通貨コンバータを書いています。私は計算のためのPHPスクリプトとポスト経由のデータ送信フォームを含む単一のファイル内で動作させるようにしています。他の変換のために、同じ:html + phpの通貨コンバータ

<?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> 

私は「EURtoUSD未定義のインデックス」を伝えるエラーを取得しています。このコンバータを使用しようとしているとき:での私のコードは次のようになります。正確には、私はこのPHPファイルのすべての変換のためのこのようなエラーのリストを取得しています。何が私はここで恋しい?

+3

可能な重複などの条件変更である:「注意:未定義の変数」と「注意:未定義のインデックスを"](http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) –

答えて

3

入力テキストの名前がconversionTypeなので、「未定義インデックス:EURtoUSD」というエラーが表示されることは間違いありません。

ので、何をしなければならないことは、この

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

を削除し、[PHPのこの

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

Thx、私はあなたの提案に従って私のコードを編集しましたが、現在は毎回出力が0になります私は何を入力しても問題ありません。 – spectatorx

+0

'var_dump($ _ POST ['conversionType'])'を試してみて、結果を教えてください。 –

+0

テスト用に私は22を入力し、Vardumpはこれを出力しました:文字列 'EURtoUSD'(length = 8) – spectatorx