Я довольно новичок в PHP и работаю на маленькой странице конвертера валют для практики. Мой PHP и HTML код все на одной странице под названием «index.php»:PHP/HTML сообщение не работает как ожидалось
<?php
$originalAmount = $_POST["originalAmount"];
$convertedAmount = 0.00;
$currency1 = $_POST["currency1"];
$currency2 = $_POST["currency2"];
function convertCurrency($input, $origCurr, $convertCurr) {
if ($origCurr === 1){
if ($convertCurr === 2){
$convertedAmount = $input * 0.78;
return $convertedAmount;
}
elseif ($convertCurr === 3){
$convertedAmount = $input * 0.90;
return $convertedAmount;
}
else {
$convertedAmount = $input;
return $convertedAmount;
}
}
if ($origCurr === 2){
if ($convertCurr === 1){
$convertedAmount = $input * 1.29;
return $convertedAmount;
}
elseif ($convertCurr === 3){
$convertedAmount = $input * 1.16;
return $convertedAmount;
}
else {
$convertedAmount = $input;
return $convertedAmount;
}
}
if ($origCurr === 3){
if ($convertCurr === 2){
$convertedAmount = $input * 0.86;
return $convertedAmount;
}
elseif ($convertCurr === 1){
$convertedAmount = $input * 1.11;
return $convertedAmount;
}
else {
$convertedAmount = $input;
return $convertedAmount;
}
}
}
$convertedAmount = convertCurrency($originalAmount, $currency1, $currency2);
?>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Currency Converter</title>
<!--jQuery-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<!--Bootstrap 3-->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<!--Custom CSS-->
<link href="main.css" type="text/css" rel="stylesheet">
</head>
<body>
<div class="container">
<!--Header Row-->
<div class="row page-header">
<div class="col-xs-6">
<h1>Currenccy Converter</h1></div>
<div class="col-xs-6">
<p>Add items via the input below.
<br>Click to mark complete (Completed Items will be marked with a green background.)
<br>To delete a task, Click on the X.
<br>Double Click to edit the item, it will be moved to the add item box</p>
</div>
</div>
<!--Add Task/Input Row-->
<div class="row">
<div class="col-xs-12 well">
<h2 class="text-xs-center"><?php print $convertedAmount; ?></h2>
<form class="form-control" id="converterForm" action="index.php" method="post">
<select name="currency1" id="currency1">
<option value="zzz">Starting</option>
<option value="1">USD</option>
<option value="2">GBP</option>
<option value="3">EUR</option>
</select>
<select name="currency2" id="currency2">
<option value="zzz">Converted</option>
<option value="1">USD</option>
<option value="2">GBP</option>
<option value="3">EUR</option>
</select>
<div class="form-group">
<label for="originalAmount" id="origLabel">Amount:</label>
<input id="originalAmount" type="number" value="0.00" name="originalAmount">
<input type="submit" id="submit" name="submit" value="SUBMIT">
</div>
</form>
</div>
</div>
</div>
</body>
</html>
Моя проблема в том, что, казалось бы, не работает на сервере. Раньше у меня был вход для чтения, который я пытался обновить по php echo
в качестве значения, но когда я нажал кнопку submit, это не сработало. Затем я заменил вход элементом H2, который содержит echo
.
Мои цели для этой страницы заключались в том, чтобы выполнить все действия с помощью HTML и PHP без помощи javascript/ajax.
Есть ли какая-либо сверхъестественная причина, почему echo
в значении не вернет значение $converted
? Я бы предпочел использовать ввод и стиль для чтения только с CSS, чем с использованием элемента H2, но я тоже буду работать.
С нетерпением ждем того, что вы прекрасно думаете. Благодарю.
Ahh. Да, я знаю об == vs ===, но я ошибочно полагал, что, поскольку я использовал номер типа ввода, он мог бы вытащить int без его преобразования. Doh. Благодаря! –