【问题标题】:Problemwith geometric figures calculator几何图形计算器的问题
【发布时间】:2017-11-25 00:17:31
【问题描述】:

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

我正在做一个几何图形计算器(三角形、矩形和正方形),所以我只能使用 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>

【问题讨论】:

    标签: php html class math methods


    【解决方案1】:

    因此,除非后置变量 'figuraGeometrica' 有值,否则您的 Switch 语句似乎是错误的。通过第一篇文章生成的表单发布三角形数据后,您还必须发布三角形的“figuraGeometrica”,否则您将跳过整个语句。

    以下是现有代码的修复方法,可让三角形使用隐藏的表单值工作。如果您要这样做,则需要在生成其他形状的表单时对其执行此操作,但将值更改为相应的形状。 :)

    <?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>
    

    【讨论】:

    • 所以您是说当 figuraGeometrica 等于 switch 中的大小写时输入表单以保持可见?
    • 最初我只发布了包含正确绘制表单的代码的变量。为避免混淆,我将对其进行编辑并包含您原始帖子的工作版本。
    • &lt;input type='hidden' name='figuraGeometrica' value='triangulo'&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 2016-12-13
    • 1970-01-01
    • 2016-08-16
    • 2017-09-23
    相关资源
    最近更新 更多