2016-08-18 3 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> 

, когда я пытаюсь использовать этот конвертер я получаю ошибку, говорящую «Undefined индекс: EURtoUSD» и тот же для других преобразований. Чтобы быть точным, я получаю список таких ошибок для всех конверсий в этом файле php. Что мне здесь не хватает?

+3

Возможный дубликат [PHP: "Обратите внимание: Неопределенная переменная" и «Извещение: Undefined индекс "] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) –

ответ

3

вполне уверен, что у вас будет ошибка «Неопределенный индекс: EURtoUSD», потому что имя вашего входного текста - это тип преобразования.

так, что вы должны сделать, это удалить этот

$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 
+0

Thx, я редактировал свой код, следуя вашему предложению, но теперь каждый раз, когда вывод получается 0 , независимо от того, что я ввожу. – spectatorx

+0

попробуйте 'var_dump ($ _ POST ['conversionType'])' и дайте нам знать результат –

+0

Для теста я сделал ввод 22, и vardump выдал: string 'EURtoUSD' (length = 8) – spectatorx

Смежные вопросы