问题几何图形计算器

时间:2017-06-21 22:22:49

标签: php html class math methods

首先,对不起英语而不是我的母语

我正在做一个几何图形计算器(三角形,矩形和正方形),所以,我只能使用PHP和HTML。我的问题是,当我点击输入值为' Calcular' (在$ formularioTriangulo变量里面的形式)没有给我结果,刷新页面。

<?php

class Calculando{   

    public function recibiendo(){   


    $figura = isset($_POST['figuraGeometrica']) ? $_POST['figuraGeometrica'] : NULL; 

        switch($figura){            
            case 'triangulo': //triangle case

            $formularioTriangulo = "<h3>Calcular Area del Triangulo</h3><br>

            <form method='POST'>
            <table>
                <tr><td>Introduzca la base del triangulo: <input type='text' name='base'></td></tr>
                <tr><td>Introduzca la altura del triangulo: <input type='text' name='altura'></td></tr>
                <tr><td><input type='submit' value='calcular'></td></tr>
            </table>
            </form>
            ";

            $base = isset($_POST['base']) ? $_POST['base'] : NULL;
            $altura = isset($_POST['altura']) ? $_POST['altura'] : NULL;                

            echo $formularioTriangulo;
            $result = ($base * $altura)/2;

            echo $result;

            break;

            case 'rectangulo': //rectangle case

            break;

            case 'cuadrado': //square case

            break;          
        }
    }
}   

$llamar = new Calculando();
$llamar->recibiendo();

?>
<html>

<head>
    <title>Calculadora de Medidas</title>
</head>


<body>
<br><br>
<table>
<form method="POST">

    <h3>Calculadora de Figuras Geom&eacute;tricas</h3>
    <tr>
        <select name="figuraGeometrica">
            <option value="na"></option>
            <option value="triangulo">Triangulo</option>
            <option value="rectangulo">Rectangulo</option>
            <option value="cuadrado">Cuadrado</option>
        </select>
    </tr>
    <tr>
        <td><input type="submit" value="Enviar"></td>
    </tr>

</form>
<table>
</body>


</html>

1 个答案:

答案 0 :(得分:0)

所以看起来你的Switch语句是假的,除非post变量&gt; figuraGeometrica&#39;有价值。一旦您通过第一篇文章生成的表单发布三角形数据,您还必须发布“figuraGeometrica”&#39;对于三角形,否则您将跳过整个语句。

这里修复了现有代码,使用隐藏的表单值来处理三角形。如果您以这种方式进行操作,则在生成表单时,您需要为其他形状执行此操作,但将值更改为相应的形状。 :)

<?php

class Calculando{   

    public function recibiendo(){   


    $figura = isset($_POST['figuraGeometrica']) ? $_POST['figuraGeometrica'] : NULL; 

        switch($figura){            
            case 'triangulo': //triangle case

            $formularioTriangulo = "<h3>Calcular Area del Triangulo</h3><br>

            <form method='POST'>
            <input type='hidden' name='figuraGeometrica' value='triangulo'>
            <table>
                <tr><td>Introduzca la base del triangulo: <input type='text' name='base'></td></tr>
                <tr><td>Introduzca la altura del triangulo: <input type='text' name='altura'></td></tr>
                <tr><td><input type='submit' value='calcular'></td></tr>
            </table>
            </form>
            ";

            $base = isset($_POST['base']) ? $_POST['base'] : NULL;
            $altura = isset($_POST['altura']) ? $_POST['altura'] : NULL;                

            echo $formularioTriangulo;
            $result = ($base * $altura)/2;

            echo $result;

            break;

            case 'rectangulo': //rectangle case

            break;

            case 'cuadrado': //square case

            break;          
        }
    }
}   

$llamar = new Calculando();
$llamar->recibiendo();

?>
<html>

<head>
    <title>Calculadora de Medidas</title>
</head>


<body>
<br><br>
<table>
<form method="POST">

    <h3>Calculadora de Figuras Geom&eacute;tricas</h3>
    <tr>
        <select name="figuraGeometrica">
            <option value="na"></option>
            <option value="triangulo">Triangulo</option>
            <option value="rectangulo">Rectangulo</option>
            <option value="cuadrado">Cuadrado</option>
        </select>
    </tr>
    <tr>
        <td><input type="submit" value="Enviar"></td>
    </tr>

</form>
<table>
</body>


</html>