【问题标题】:PHP calculator, isset problems [duplicate]PHP计算器,isset问题[重复]
【发布时间】:2015-02-04 08:54:40
【问题描述】:

大家好,我制作了 PHP 计算器,但出现了小问题,上面写着:

注意:未定义变量:vysledek in C:\xampp\htdocs\PHP\cviceni_06\Danko.php 第 64 行

第 64 行位于代码“echo $vysledek;”的末尾

你能帮我解决它吗?

<?php
    if(isset($_POST['calculate'] ))
    {
        $operator=$_POST['operator'];
        if($operator=="+")
        {
            $num1 = $_POST['num1'];
            $num2 = $_POST['num2'];
            $vysledek= $num1+$num2;
        }
        if($operator=="-")
        {
            $num1 = $_POST['num1'];
            $num2 = $_POST['num2']; 
            $vyslede2= $num1-$num2;
        }
        if($operator=="*")
        {
            $num1 = $_POST['num1'];
            $num2 = $_POST['num2'];
            $vysledek =$num1*$num2;
        }
        if($operator=="/")
        {
            $num1 = $_POST['num1'];
            $num2 = $_POST['num2'];
            $vysledek= $num1/$num2;
        }
        if($operator=="/")
        {
            $num2 == 0;
            $vysledek= "Nulou dělit nelze";
        }
    }
?>
<!DOCTYPE html> 
<html lang="cs-CZ"> 
    <head>
        <meta charset="UTF-8"/>
        <meta name="generator" content="Prace"/> 
        <link rel="stylesheet" href="web.css"/>
        <title>úkol</title> 
    </head> 
    <body>

        <div id="web">
            <h1>Kalkulačka</h1>
            <h2>návod</h2>
            <p>Zadej číslo do obou políček a zvol znaménko, poté klikni na tlačítko "Počítat". Číslo nesmí obsahovat jednotku nebo desetinná místa. Musí to být přirozené číslo, také nesmíš dělit nulou.</p>
            <form method="post">
                <div id="num1">Zadej první číslo <input name="num1" type="text"/ id="xnum1"></div>
                <div id="selector">Vyber znaménko <select name="operator" id="xselector"></div>
                    <option>+</option>
                    <option>*</option>
                    <option>-</option>
                    <option>/</option>
                </select>
                <div id="num2">Zadej druhé číslo <input name="num2" type="text" id="xnum2"/></div>         
                <div id="submit">Stiskni po zadání čísel <input type="submit" name="calculate" value="Počítat" id="xsubmit"/></div>
            </form>
            <?php 
                if (isset($_POST["num1"]) && ($_POST["num2"]));
                {
                    echo $vysledek;
                } 
            ?>
         </div>
    </body> 
</html>

【问题讨论】:

  • 在脚本开头添加$vysledek = "";
  • 显然,您的 if 语句都没有在您实际设置该变量的地方解析为 true。
  • 你有一堆如果。似乎$_POST['calculate'] 未设置,或者$_POST['operator'] 与列出的任何运算符都不匹配。
  • Phate01 谢谢老哥,解决了
  • 还有if (isset($_POST["num1"]) &amp;&amp; ($_POST["num2"])); 应该是if (isset($_POST["num1"]) &amp;&amp; isset($_POST["num2"]));

标签: php calculator isset


【解决方案1】:

$vyslede 未设置。

  • 您可以为其使用默认值
  • 或抱怨使用了无效的运算符。

【讨论】:

    猜你喜欢
    • 2015-07-05
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2020-10-25
    • 1970-01-01
    相关资源
    最近更新 更多