首先,对不起英语而不是我的母语
我正在做一个几何图形计算器(三角形,矩形和正方形),所以,我只能使用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é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>
答案 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é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>