Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera eu em meus estudo (como sou um iniciante), estou montando uma calculadora mais não ta dando certo observem o que eu fiz:
criei um formulário em html simples.
<HTML>
<HEAD>
<TITLE>Novo Documento</TITLE>
</HEAD>
<BODY align="center">
<form name="form01" method="post" action="calcular.php">
<table size="200" border="0">
<tr>
<td><input type="text" name="val1">
</td>
</tr>
<tr>
<td><input type="text" name="val2">
</td>
</tr>
<tr>
<td><select name="op">
<option name="1" value="1">somar</option>
<option name="2" value="2">subtrair</option>
<option name="3" value="3">multiplicar</option>
<option name="4" value="4">dividir</option>
</select>
</td>
</tr>
<tr>
<td><input type="submit" value="Calcular">
</td>
</tr>
</table>
</form>
</BODY>
</HTML>
e depois fiz um arquivo em php.
<?
$v1=$_POST["val1"];
$v2=$_POST["val2"];
$r=$_POST["op"];
function calcular ($n,$n2)
{
if ($r=="somar"):
{
$res=$n+$n2;
echo "a resposta é $res";
}
elseif ($r=="subtrair"):
{
$res=$n-$n2;
echo "a resposta é $res";
}
elseif ($r=="multiplicar"):
{
$res=$n*$n2;
echo "a resposta é $res";
}
else:
{
$res=$n/$n2;
echo "a resposta é $res";
}
endif;
}
calcular ($v1,$v2);
echo"<br/> o valor é $r"
?>
porem não ta dando certo será que minha lógica ta errada?
será que alguém poderia me ajudar
um abraço
Cara eu já tentei com os números e mesmo assim não foi, sei que ele apenas está pegando a 1ª instrução do if
não sei mais na minha cabeça ta faltando alguma ligação com o Form01 e o select
Depois que reparei mais no código vi que tem mais alguns erros.
Você precisa passar também como parâmetro a operação que irá fazer, a menos que você use ponteiros para isso.
Enfim, dei uma remanejado no código, tente ai:
<?php
function calcular( $n, $n2, $r )
{
if( $r == 1 )
{
$res = $n + $n2;
}
elseif( $r == 2 )
{
$res = $n - $n2;
}
elseif( $r == 3 )
{
$res = $n * $n2;
}
else
{
$res = $n / $n2;
}
return $res;
}
$v1 = $_POST["val1"];
$v2 = $_POST["val2"];
$op = $_POST["op"];
$resultado = calcular( $v1, $v2, $op );
echo "<br/> o valor é " . $resultado;
?>
Se tiver alguma dúvida, é só perguntar.
[]'s
cara valeu deu certo sim mais mesmo assim eu tiver que colocar os nomes mesmo na variável $r
só fico chateado porque eu não consegui ver isso, pocha é muito chato eu fico muito frustrado com isso mais eu te agradeço muito pela força
valeu
A suas opções do <select> são 1, 2, 3 ou 4, perceba que você deve resgatar é o value e não o texto propriamente dito.
Sendo assim, em sua sequência de if, você deve fazer a comparação com estes valores numéricos.
[]'s