PHP/HTML post未按预期工作

PHP/HTML post未按预期工作,php,html,forms,input,currency,Php,Html,Forms,Input,Currency,我对PHP非常陌生,正在编写一个小型货币转换器页面进行练习。我的PHP和HTML代码都在一个名为“index.PHP”的页面中: 货币转换器 电流转换器 通过下面的输入添加项目。 单击以标记完成(已完成的项目将以绿色背景标记。) 要删除任务,请单击X。 双击以编辑项目,它将移动到“添加项目”框 启动 美元 英镑 欧元 转换 美元 英镑 欧元 数量: 我的问题是,它似乎不在服务器上运行。我曾经有一个只读输入,我试图通过phpecho更新它作为值,但当我单击submit时,它不起作用。然后我用一

我对PHP非常陌生,正在编写一个小型货币转换器页面进行练习。我的PHP和HTML代码都在一个名为“index.PHP”的页面中:


货币转换器
电流转换器
通过下面的输入添加项目。

单击以标记完成(已完成的项目将以绿色背景标记。)
要删除任务,请单击X。
双击以编辑项目,它将移动到“添加项目”框

启动 美元 英镑 欧元 转换 美元 英镑 欧元 数量:
我的问题是,它似乎不在服务器上运行。我曾经有一个只读输入,我试图通过php
echo
更新它作为值,但当我单击submit时,它不起作用。然后我用一个H2元素替换了输入,该元素包含
echo

我的目标是在不借助javascript/ajax的情况下,通过HTML和PHP完成所有操作

值中的
回显
不会返回
$converted
的值,有什么特别明显的原因吗?我宁愿使用CSS中的只读输入和样式,也不愿使用H2元素,但我想这两者都可以


期待着你们这些好人的想法。谢谢

问题:您使用的是
=
在所有if条件下,
==
用于比较变量的值和类型。在您的例子中,
$\u POST['your\u variable']
是字符串类型,您正在将字符串与数字进行比较<代码>如果($origCurr==1)。读取比较运算符


解决方案:类型转换变量或使用
=
仅比较值
if($origCurr==1)
问题:在所有if条件下,您使用的是
==
==
用于比较变量的值和类型。在您的例子中,
$\u POST['your\u variable']
是字符串类型,您正在将字符串与数字进行比较<代码>如果($origCurr==1)。读取比较运算符


解决方案:类型转换变量或使用
=
仅比较值<代码>如果($origCurr==1)

Rohit与发生此错误的原因相符。我还想为转换函数提供这个替代方法,它仍然需要考虑输入变量的类型

函数convertCurrency($input、$origCurr、$convertCurr){
$conversionTable=数组(
“1'=>数组('2'=>0.78,'3'=>0.9),
“2'=>数组('1'=>1.29,'3'=>1.16),
“3'=>数组('2'=>0.86,'1'=>1.11)
);
返回$input*($origCurr!==$convertCurr)?$CONVERTIONTABLE[$origCurr][$convertCurr]:1);
}

Rohit很准确地说明了发生此错误的原因。我还想为转换函数提供这个替代方法,它仍然需要考虑输入变量的类型

函数convertCurrency($input、$origCurr、$convertCurr){
$conversionTable=数组(
“1'=>数组('2'=>0.78,'3'=>0.9),
“2'=>数组('1'=>1.29,'3'=>1.16),
“3'=>数组('2'=>0.86,'1'=>1.11)
);
返回$input*($origCurr!==$convertCurr)?$CONVERTIONTABLE[$origCurr][$convertCurr]:1);
}

不错的选择,我想你错过了第三个案例<代码>美元@Rohit true!我已经更新了函数,以反映当
$origCurr==$converCurr
为什么它应该返回1时的情况?它应该是输入值
return($origCurr!==$convertCurr)$输入*$conversionTable[$origCurr][$convertCurr]:$input美元
@Rohit true!我已经更新了函数,以反映当
$origCurr==$converCurr
为什么它应该返回1时的情况?它应该是输入值
return($origCurr!==$convertCurr)$输入*$conversionTable[$origCurr][$convertCurr]:$input<?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>