He buscado varios ejemplos de este ejercicio pero en todos los casos está resuelto con un simple IF y no cubre las demás posibilidades, que son varias y con un if se anidarian demasiado, así que no encuentro demasiada información para cuando lo quieres hacer más completo, y ya llevo varias horas investigando algunos casos que no me salen.
Mis dudas son:
- 1- En el caso de que el usuario deje las casillas vacias: Me funciona si dejo las dos casillas vacias, pero si sólo dejo UNA vacia, me dice que : es menor que el X ( el número que haya introducido, y no me respeta el operador “OR”.
- 2 En el caso de que el usuario no introduzca un número : Tampoco me funciona y me compara las letras, ej: fdfd es mayor que refeefds
- ¿Está bien planteada la opción de cuando no es un número, es correcta la función(isNaN)?
Código HTML:
<html> <body> <form action="calculo.php"> Introduce el primer numero entero: <input type="text" name="valor1" method="get"> Introduce el segundo numero entero: <input type="text" name="valor2" method="get"> <input type="submit" value="enviar"> </form> </body> </html>
Código PHP:
<?php
$valor1 = $_GET['valor1'];
$valor2 = $_GET['valor2'];
switch (true) {
case $valor1 > $valor2:
echo $valor1." es mayor que ".$valor2;
break;
case $valor1 < $valor2:
echo $valor1." es menor que ".$valor2;
break;
case $valor1 = $valor2:
echo $valor1." es igual a ".$valor2;
break;
case empty($valor1) || empty($valor2);
echo "las casillas estan vacias, por favor, introduzca un numero entero";
break;
case is_nan( $valor1);
echo "No es un numero, introduzca un numero entero";
break;
default:
echo " Por favor introduzca un numero valido";
break;
}
?>