TRiBByX
11/7/2016 - 1:49 PM

Basic calculator webpage, that remembers the dropdown menu's selected item by rendering the form through a case.

Basic calculator webpage, that remembers the dropdown menu's selected item by rendering the form through a case.

<?php
//This function renders the form. This is made this way to ensure that the dropdown menu's selection is remembered...
//There might be a better way, using things like twig or other functions in PHP.
function renderSite($option){
    switch ($option){
        case "add":
            echo "
        <form method=\"post\" name='form1'>
            <input type=\"text\" name=\"var1\">
            <select name = \"Calculate\">
                <option value=\"+\" name='add' selected='selected'>Addition</option>
                <option value=\"-\" name='sub'>Substract</option>
                <option value=\"*\" name='mult'>Multiply</option>
                <option value=\"/\" name='div'>Division</option>
            </select>
            <input type=\"text\" name=\"var2\">
            <input type=\"submit\" value=\"=\">
        </form>
    ";
            break;
        case "sub":
            echo "
        <form method=\"post\" name='form1'>
            <input type=\"text\" name=\"var1\">
            <select name = \"Calculate\">
                <option value=\"+\" name='add'>Addition</option>
                <option value=\"-\" name='sub' selected='selected'>Substract</option>
                <option value=\"*\" name='mult'>Multiply</option>
                <option value=\"/\" name='div'>Division</option>
            </select>
            <input type=\"text\" name=\"var2\">
            <input type=\"submit\" value=\"=\">
        </form>
    ";
            break;
        case "mult":
            echo "
        <form method=\"post\" name='form1'>
            <input type=\"text\" name=\"var1\">
            <select name = \"Calculate\">
                <option value=\"+\" name='add'>Addition</option>
                <option value=\"-\" name='sub' >Substract</option>
                <option value=\"*\" name='mult' selected='selected'>Multiply</option>
                <option value=\"/\" name='div'>Division</option>
            </select>
            <input type=\"text\" name=\"var2\">
            <input type=\"submit\" value=\"=\">
        </form>
    ";
            break;
        case div:
            echo "
        <form method=\"post\" name='form1'>
            <input type=\"text\" name=\"var1\">
            <select name = \"Calculate\">
                <option value=\"+\" name='add'>Addition</option>
                <option value=\"-\" name='sub' >Substract</option>
                <option value=\"*\" name='mult'>Multiply</option>
                <option value=\"/\" name='div' selected='selected'>Division</option>
            </select>
            <input type=\"text\" name=\"var2\">
            <input type=\"submit\" value=\"=\">
        </form>
    ";
            break;
        default:
            echo "
        <form method=\"post\" name='form1'>
            <input type=\"text\" name=\"var1\">
            <select name = \"Calculate\">
                <option value=\"+\" name='add'>Addition</option>
                <option value=\"-\" name='sub'>Substract</option>
                <option value=\"*\" name='mult'>Multiply</option>
                <option value=\"/\" name='div'>Division</option>
            </select>
            <input type=\"text\" name=\"var2\">
            <input type=\"submit\" value=\"=\">
        </form>
    ";
            break;
    }
}

if ($_POST){
    $var1 = $_POST["var1"];
    $var2 = $_POST["var2"];
    $result = null;

    switch ($_POST["Calculate"]) {
        case "+":
            $result = $var1 + $var2;
            renderSite("add");
            break;
        case "-":
            $result = $var1 - $var2;
            renderSite("sub");
            break;
        case "*":
            $result = $var1 * $var2;
            renderSite("mult");
            break;
        case "/":
            $result = $var1 / $var2;
            renderSite("div");
            break;
    }
}

?>

<html>
<head>
    <title>Calculator</title>
    <link rel="stylesheet" href="Style.css">
</head>
<body>
    <p>Result: <?php echo $result; ?></p>
</body>
</html>