Foros del Web » Programando para Internet » PHP »

Calculadora

Estas en el tema de Calculadora en el foro de PHP en Foros del Web. Me aburria y cree una calculadora, ante la sorpresa que no me funciona!! alguien podria decirme que esta mal? gracias ^^ Código PHP: <form method="get" action="calculadora.php"> <b>Introduce dos valores a operar</b><br><br> ...
  #1 (permalink)  
Antiguo 27/07/2008, 12:41
 
Fecha de Ingreso: enero-2008
Mensajes: 29
Antigüedad: 16 años, 3 meses
Puntos: 0
Calculadora

Me aburria y cree una calculadora, ante la sorpresa que no me funciona!!
alguien podria decirme que esta mal? gracias ^^

Código PHP:
<form method="get" action="calculadora.php">
<b>Introduce dos valores a operar</b><br><br>

<b>Primer valor</b>
<input type="text" name="<?php $numero_1 ?>">
<br>
<b>Segundo valor</b>
<input type="text" name="<?php $numero_2 ?>">
<br><br>
<b>Elige una operacion a realizar:</b><br>

<select name="<?php $operacion ?>">
<option name="<?php $suma ?>" value="suma"><b>Sumar</b></option>
<option name="<?php $resta ?>" value="resta"><b>Restar</b></option>
<option name="<?php $multiplicacion ?>" value="multiplicacion"><b>Multiplicar</b></option>
<option name="<?php $division ?>" value="division"><b>Dividir</b></option>
</select>
<input type="submit" name="Operar" value="operar">
</form>
<br><br>

<?php
if (!is_numeric($numero_1) | !is_numeric($numero_2)){
$numero_1=0;
$numero_2=0;
}else{
switch (
$operacion){


case 
$suma:
@
$resultado=$numero_1+$numero_2;
echo
"<b>El resultado es $resultado</b>";
break;

case 
$resta:
@
$resultado=$numero_1-$numero_2;
echo
"<b>El resultado es $resultado</b>";
break;

case 
$multiplicacion:
@
$resultado=$numero_1*$numero_2;
echo
"<b>El resultado es $resultado</b>";
break;

case 
$division:
@
$resultado=$numero_1/$numero_2;
echo
"<b>El resultado es $resultado</b>";
break;
}
}
?>
  #2 (permalink)  
Antiguo 27/07/2008, 13:24
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Calculadora

1.- ponerle nombre a los option es una falta muy gorsa jejeje

<select name="operacion">
<option value="suma"><b>Sumar</b></option>
<option value="resta"><b>Restar</b></option>
<option value="multiplicacion"><b>Multiplicar</b></option>
<option value="division"><b>Dividir</b></option>
</select>

cambiarlo por

<select name="<?php $operacion ?>">
<option name="<?php $suma ?>" value="suma"><b>Sumar</b></option>
<option name="<?php $resta ?>" value="resta"><b>Restar</b></option>
<option name="<?php $multiplicacion ?>" value="multiplicacion"><b>Multiplicar</b></option>
<option name="<?php $division ?>" value="division"><b>Dividir</b></option>
</select>


2.- el operador O es o bien or o || pero no |
if (!is_numeric($numero_1) | !is_numeric($numero_2)){
cambiar por
if (!is_numeric($numero_1) || !is_numeric($numero_2)){

3.- cambiar todos los case por
case 'suma':
case 'resta':
case 'multiplicacion':
case 'division':

respectivamente

ahora si deberia de funcionar :)
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 27/07/2008, 13:25
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Calculadora

me falto agregarte

switch ($operacion){

por esto

switch ($_GET['operacion']){
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 27/07/2008, 14:19
 
Fecha de Ingreso: enero-2008
Mensajes: 29
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Calculadora

muchas gracias ^^ , se te olvido decirme el $_GET['numero_1'] y 2 en las operaciones :P

puse lo de <?php $operacion ?> y los case para no tener que usar una variable super global, no crei que generara problemas :S

el | lo copie mal, scuse me :P

el name influye algo? :S en otras cosas nunca me ha dado conflictos


vamos, que por intentar innovar (otra la hice como me lo has puesto tu, exactamente = xD) la he giñao xD...


bueno, muchas gracias por tu ayuda ^^

PD:no rula?xD a ver que me he dejado de corregir..

Código PHP:
<select name="operacion">
<option value="suma"><b>Sumar</b></option>
<option value="resta"><b>Restar</b></option>
<option value="multiplicacion"><b>Multiplicar</b></option>
<option value="division"><b>Dividir</b></option>
</select>
<input type="submit" name="operar" value="operar">
</form>
<br><br>

<?php
if (!is_numeric($numero_1) || !is_numeric($numero_2)){
$numero_1=0;
$numero_2=0;
}else{
switch (
$_REQUEST['operacion']){


case 
'suma':
@
$resultado=$_GET['$numero_1']+$_GET['$numero_2'];
echo
"<b>El resultado es $resultado</b>";
break;

case 
'resta':
@
$resultado=$_GET['$numero_1']-$_GET['$numero_2'];
echo
"<b>El resultado es $resultado</b>";
break;

case 
'multiplicacion':
@
$resultado=$_GET['$numero_1']*$_GET['$numero_2'];
echo
"<b>El resultado es $resultado</b>";
break;

case 
'division':
@
$resultado=$_GET['$numero_1']/$_GET['$numero_2'];
echo
"<b>El resultado es $resultado</b>";
break;
}
}
?>
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 17:54.