Comunidad de diseño web y desarrollo en internet online

escoger operadores (suma,resta etc; ) con radio button

Citar            
MensajeEscrito el 27 Ago 2008 05:36 pm
hola buenas tardes, unda duda, tengo cuatro radio button en el cual tienen de valores + - / * cada uno y dos campos de texto el fin de esto es poner dos valores en los campos de texto y dependiendo el radiobutton seleccionado va a dividir, sumar, restar o multiplicar entre esos dos campos de texto pero al pasar el valor a php, no me hace ninguna operacion solo me pone como si fuera string todo, pongo el codigo:


Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="operacion.php">
  <p>
    <input type="text" name="campo1" id="campo1" />
</p>
  <p>
    <input type="text" name="campo2" id="campo2" />
</p>
  <p>
    <input type="radio" name="operacion" id="radio" value="+" />
    + 
    <input type="radio" name="operacion" id="radio2" value="-" />
    - 
    <input type="radio" name="operacion" id="radio3" value="/" />
    / 
    <input type="radio" name="operacion" id="radio4" value="*" />
  *</p>
  <p>
    <input type="submit" name="button" id="button" value="Submit" />
</p>
</form>
</body>
</html>



operacion.php

Código :

<?PHP

$operacion=$campo1." ". $operacion." ". $campo2;

echo $operacion;

?>


el resultado de esto es:

2 + 2 como string, pero no me hace la operacion deberia quedar como resultado 4, que me sugieren, gracias

Por ipalmeros

45 de clabLevel



 

msie7
Citar            
MensajeEscrito el 27 Ago 2008 09:58 pm
No puedes pretender que un string, sea interpretado como un comando aritmético (deberías usar algo parecido al "eval" de javascript)
Para lo que quieres, deberías disponer de un "swich"
Si $operacion=='+' -> $operacion=$campo1+$campo2;
Si $operacion=='-' -> $operacion=$campo1-$campo2;
Si $operacion=='x' -> $operacion=$campo1x$campo2;
Si $operacion=='/' -> $operacion=$campo1/$campo2;
Aún así, te adelanto, que lo que pretendes (una calculadora), no debería hacerse mediante PHP (del lado del servidor), sino con JS (del lado del cliente). Ganarás muchísimo en velocidad.

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.