我的PHP出纳计算器程序赢得了';行不通

我的PHP出纳计算器程序赢得了';行不通,php,mysql,apache,xampp,Php,Mysql,Apache,Xampp,应该是这样的:。 当我测试它时,它只会说“价格必须是一个有效的数字”,其他什么都不会,即使我的输入是正确的数字,它也不会计算。我不知道我做错了什么 这是index.php <?php //set default value of variables for initial page load if (!isset($description)) { $description = ''; } if (!isset($unit_pric

应该是这样的:。 当我测试它时,它只会说“价格必须是一个有效的数字”,其他什么都不会,即使我的输入是正确的数字,它也不会计算。我不知道我做错了什么

这是index.php

    <?php 
        //set default value of variables for initial page load
        if (!isset($description)) { $description = ''; } 
        if (!isset($unit_price)) { $unit_price = ''; } 
        if (!isset($quantity)) { $quantity = ''; } 
    ?> 
    <!DOCTYPE html>
    <html>
    <head>
        <title>Assignment 1</title>
        <link rel="stylesheet" type="text/css" href="YapAss1.css">
    </head>

    <body>
        <main>
        <h1>Cashier</h1>
        <?php if (!empty($error_message)) { ?>
            <p class="error"><?php echo htmlspecialchars($error_message); ?>               </p>
        <?php } ?>
        <form action="checkout.php" method="post">

            <div id="data">
                <label>Description:</label>
                <input type="text" name="investment"
                       value="<?php echo htmlspecialchars($description); ?>">
                <br>

                <label>Unit Price:</label>
                <input type="text" name="interest_rate"
                       value="<?php echo htmlspecialchars($unit_price); ?>">
                <br>

                <label>Quantity:</label>
                <input type="text" name="years"
                       value="<?php echo htmlspecialchars($quantity); ?>">
                <br>
            </div>

            <div id="buttons">
                <label>&nbsp;</label>
                <input type="submit" value="Checkout Now"><br>
            </div>

        </form>
        </main>
    </body>
    </html>

任务1
出纳员

说明:
在checkout.php页面上有if语句:

if ( $unit_price === FALSE ) 
因此,您正在检查布尔值,而该值必须是整数。 我只是猜测你的目标是检查这个变量是否设置了。 通过将if语句更改为:

if (!isset(($unit_price))  
变量$quantity也是如此。 通过进行此调整,您可以删除index.php顶部6行上的php。 祝你好运

这里是故障:

 $description = filter_input(INPUT_POST, 'description',
            FILTER_VALIDATE_FLOAT);
        $unit_price = filter_input(INPUT_POST, 'unit_price',
            FILTER_VALIDATE_FLOAT);
        $quantity = filter_input(INPUT_POST, 'quantity',
            FILTER_VALIDATE_INT);
此处提交的输入名称不正确

新代码

 $description = filter_input(INPUT_POST, $_POST['investment'],
            FILTER_VALIDATE_FLOAT);
        $unit_price = filter_input(INPUT_POST, 'interest_rate',
            FILTER_VALIDATE_FLOAT);
        $quantity = filter_input(INPUT_POST, 'years',
            FILTER_VALIDATE_INT);

代码中还有一些未定义的变量。您需要重新检查正在使用的所有变量。

您正在验证的字段与表单中的字段名称没有任何相似之处:
年份
!==<代码>数量
<代码>利率!=<代码>单价<代码>投资!==<代码>说明天哪。我看了很多遍,但还是忽略了这一点。非常感谢你
 $description = filter_input(INPUT_POST, $_POST['investment'],
            FILTER_VALIDATE_FLOAT);
        $unit_price = filter_input(INPUT_POST, 'interest_rate',
            FILTER_VALIDATE_FLOAT);
        $quantity = filter_input(INPUT_POST, 'years',
            FILTER_VALIDATE_INT);