Foros del Web » Programando para Internet » PHP »

Problema con Variable del formulario

Estas en el tema de Problema con Variable del formulario en el foro de PHP en Foros del Web. Hola, estoy haciendo una simple calculadora y tengo un problema con la variable de un select que hago en mi formulario. Acá el ejemplo.. Código ...
  #1 (permalink)  
Antiguo 30/04/2016, 10:29
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Problema con Variable del formulario

Hola, estoy haciendo una simple calculadora y tengo un problema con la variable de un select que hago en mi formulario.
Acá el ejemplo..

Código PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Calculadora</title>
</head>
<body>
<form action="" method="post" name="calcu">
    <label>ingrese los campos con numeros</label><br /><br />
    <input type="text" name="num1" /><br /><br />
    <input type="text" name="num2" /><br /><br />
    <label>Selecciona una operacion</label><br />
    <select required name="lista" id="lista">
        <option value="suma">Sumar</option>
        <option value="resta">Restar</option>
        <option value="multiplicacion">Multiplicar</option>
        <option value="divicion">Dividir</option>
    </select><br /><br />
    <input type="submit" value="Enviar" name="enviar" />       
</form>

<?php
$operacion 
$_REQUEST['lista'];
if(isset(
$_REQUEST['num1']) && isset($_REQUEST['num2']))
    {
        if(empty(
$_REQUEST['num1']) && empty($_REQUEST['num2']))
            {
                echo 
"debes ingresar todos los datos";
            }    
                elseif(
is_numeric($_REQUEST['num1']) && is_numeric($_REQUEST['num2']))
                    {
                        switch(
$operacion
                            {
                                case 
suma:
                                    echo 
$_POST['num1'] + $_POST['num2'];
                                    break;    
        
                                case 
resta:
                                    echo 
$_POST['num1'] - $_POST['num2'];
                                    break;    
        
                                case 
multiplicacion:
                                    echo 
$_POST['num1'] * $_POST['num2'];
                                    break;    
        
                                case 
divicion:
                                    echo 
$_POST['num1'] / $_POST['num2'];
                                    break;    
        
                                default: 
                                    echo 
"no se puede realizar la operacion";
                            }
                    }
                else
                    {
                        echo 
"debe ingresar solo numeros";
                    }
            
    }    
//var_dump($operacion);
//echo gettype($operacion);
//echo $operacion;
?>
</body>
</html>


desde ya gracias, y si hay alguna otra cosa para corregir o mal echa corrijan me ja
  #2 (permalink)  
Antiguo 30/04/2016, 10:37
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 11 meses
Puntos: 39
Respuesta: Problema con Variable del formulario

Ejecuta esto para ver que estás recibiendo.

Código PHP:
Ver original
  1. print_r($_POST);
  #3 (permalink)  
Antiguo 30/04/2016, 10:37
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.139
Antigüedad: 13 años, 8 meses
Puntos: 171
Respuesta: Problema con Variable del formulario

pruebalo asi
Código PHP:
<?php
if(isset($_POST['lista']) && isset($_POST['num1']) && isset($_POST['num2'])){
$operacion $_POST['lista'];
$numero1 $_POST['num1'];
$numero2 $_POST['num2'];
}
        if(empty(
$numero1) && empty($numero2))
            {
                echo 
"debes ingresar todos los datos";
            }    
                elseif(
is_numeric($numero1) && is_numeric($numero2)
                    {
                        switch(
$operacion
                            {
                                case 
"suma":
                                    echo 
$numero1 $numero2;
                                    break;    
        
                                case 
"resta":
                                    echo 
$numero1 $numero2;
                                    break;    
        
                                case 
"multiplicacion":
                                    echo 
$numero1 $numero2;
                                    break;    
        
                                case 
"divicion":
                                    echo 
$numero1 $numero2;
                                    break;    
        
                                default: 
                                    echo 
"no se puede realizar la operacion";
                            }
                    }
                else
                    {
                        echo 
"debe ingresar solo numeros";
                    } 
//var_dump($operacion);
//echo gettype($operacion);
//echo $operacion;
?>
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #4 (permalink)  
Antiguo 30/04/2016, 12:39
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problema con Variable del formulario

gracias a los dos, lo resolví asi

Código PHP:
<?php
if(isset($_REQUEST['lista']))
    {
        
$operacion $_REQUEST['lista'];    
            if(empty(
$_REQUEST['num1']) && empty($_REQUEST['num2']))
                {
                    echo 
"debes ingresar todos los datos";
                }    
                    elseif(
is_numeric($_REQUEST['num1']) && is_numeric($_REQUEST['num2']))
                        {
                            switch(
$operacion
                                {
                                    case 
'suma':
                                        echo 
$_POST['num1'] + $_POST['num2'];
                                        break;    
            
                                    case 
'resta':
                                        echo 
$_POST['num1'] - $_POST['num2'];
                                        break;    
            
                                    case 
'multiplicacion':
                                        echo 
$_POST['num1'] * $_POST['num2'];
                                        break;    
            
                                    case 
'division':
                                        echo 
$_POST['num1'] / $_POST['num2'];
                                        break;    
            
                                    default: 
                                        echo 
"no se puede realizar la operacion";
                                }
                        }
                    else
                        {
                            echo 
"debe ingresar solo numeros";
                        }
                
    }    
?>
de la forma que me puso petit89 estaba bien pero me imprimía el echo "debes ingresar todos los datos" la primera ves que cargaba la web...

creo que como lo deje estaria bien, saludos y gracias..
cualquier cosa corrijan...

Etiquetas: formulario, html, select, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:50.