Simple PHP calculator

前端 未结 11 783
独厮守ぢ
独厮守ぢ 2020-12-14 12:01

I\'m creating a basic PHP calculator that lets you enter two values and chose your operator then displays the answer. Everything is working fine except it\'s not outputting

相关标签:
11条回答
  • 2020-12-14 12:30

    Check string using single quotes

    Ex. $_POST['group1'] == 'add'

    0 讨论(0)
  • 2020-12-14 12:33
    <?php 
    $result = "";
    class calculator
    {
        var $a;
        var $b;
    
        function checkopration($oprator)
        {
            switch($oprator)
            {
                case '+':
                return $this->a + $this->b;
                break;
    
                case '-':
                return $this->a - $this->b;
                break;
    
                case '*':
                return $this->a * $this->b;
                break;
    
                case '/':
                return $this->a / $this->b;
                break;
    
                default:
                return "Sorry No command found";
            }   
        }
        function getresult($a, $b, $c)
        {
            $this->a = $a;
            $this->b = $b;
            return $this->checkopration($c);
        }
    }
    
    $cal = new calculator();
    if(isset($_POST['submit']))
    {   
        $result = $cal->getresult($_POST['n1'],$_POST['n2'],$_POST['op']);
    }
    ?>
    
    <form method="post">
    <table align="center">
        <tr>
            <td><strong><?php echo $result; ?><strong></td>
        </tr>
        <tr>
            <td>Enter 1st Number</td>
            <td><input type="text" name="n1"></td>
        </tr>
    
        <tr>
            <td>Enter 2nd Number</td>
            <td><input type="text" name="n2"></td>
        </tr>
    
        <tr>
            <td>Select Oprator</td>
            <td><select name="op">
                <option value="+">+</option>
                <option value="-">-</option>
                <option value="*">*</option>
                <option value="/">/</option>
            </select></td>
        </tr>
    
        <tr>
            <td></td>
            <td><input type="submit" name="submit" value="                =                "></td>
        </tr>
    
    </table>
    </form>
    
    0 讨论(0)
  • 2020-12-14 12:34
    <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>Calculator</title>
        </head>
        <body>
        HTML Code is here:
    
             <form method="post">
                <input type="text" name="numb1">
                <input type="text" name="numb2">
                <select name="operator" id="">
                   <option>None</option>
                   <option>Add</option>
                   <option>Subtract</option>
                   <option>Multiply</option>
                   <option>Divide</option>
                   <option>Square</option>
                </select>
                <button type="submit" name="submit" value="submit">Calculate</button>
             </form>
    
        PHP Code:
    
            <?php 
    
                if (isset($_POST['submit'])) {
                    $result1 = $_POST['numb1'];
                    $result2 = $_POST['numb2'];
                    $operator = $_POST['operator'];
                    switch ($operator) {
                        case 'None':
                            echo "You need to select any operator";
                            break;
                        case 'Add':
                            echo $result1 + $result2;
                            break;
                        case 'Subtract':
                            echo $result1 - $result2;
                            break;
                        case 'Multiply':
                            echo $result1 * $result2;
                            break;
                        case 'Divide':
                            echo $result1 / $result2;
                            break;
                        case 'Square':
                            echo $result1 ** $result2;
                            break;
                    }
                }
    
    
             ?>
            enter code here
    
        </body>
        </html>
    
    0 讨论(0)
  • 2020-12-14 12:36

    You need to assign $first and $second

    $first = $_POST['first'];
    $second= $_POST['second'];
    

    Also, As Travesty3 said, you need to do your arithmetic outside of the quotes:

    echo $first + $second;
    
    0 讨论(0)
  • 2020-12-14 12:36

    You also need to put the [== 'add'] math operation into quotes

    if($_POST['group1'] == 'add') {
    echo $first + $second;
    }
    

    complete code schould look like that :

    <?php
    $first = $_POST['first'];
    $second= $_POST['second'];
    if($_POST['group1'] == 'add') {
    echo $first + $second;
    }
    else if($_POST['group1'] == 'subtract') {
    echo $first - $second;
    }
    else if($_POST['group1'] == 'times') {
    echo $first * $second;
    } 
    else if($_POST['group1'] == 'divide') {
    echo $first / $second;
    }
    ?>
    
    0 讨论(0)
  • 2020-12-14 12:40

    You need to get the values the same way to get the calculator operation which looks like:

    <?php
    if($_POST['group1'] == add) {
    echo "$_POST['first']+ $_POST['second'];
    }
    ... and so on
    ?>
    

    Or, to make it easier, just do:

        <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Answer</title>
    </head>
    <body>
    <p>The answer is: 
    <?php
    $first = $_POST['first'];
    $second= $_POST['second'];
    
    if($_POST['group1'] == add) {
    echo "$first + $second";
    }
    else if($_POST['group1'] == subtract) {
    echo "$first - $second";
    }
    else if($_POST['group1'] == times) {
    echo "$first * $second";
    }
    else($_POST['group1'] == divide) {
    echo "$first / $second";
    }
    ?>
    </p> 
    </body>
    </html>
    
    0 讨论(0)
提交回复
热议问题