Divisão por zero - não aparece mensagem
Gostaria que aparecesse no browser uma mensagem informando que a divisão por zero não é possivel, mas não estou conseguindo.
e na multiplicação ele não executa.
case "4": if($_POST['valor2'] != "0" ) $resultado = $_POST['valor1'] / $_POST['valor2']; else $resultado = "Não é possivel dividir por zero"; break;
e na multiplicação ele não executa.
Karine Sobral
Curtidas 0
Melhor post
Karine Sobral
09/06/2015
Agora sim, entendi perfeitamente, obrigada e desculpa por qualquer coisa.
GOSTEI 1
Mais Respostas
Marcio Araujo
29/05/2015
Posta o código completo por favor!
GOSTEI 0
Jothaz
29/05/2015
Gostaria que aparecesse no browser uma mensagem informando que a divisão por zero não é possivel, mas não estou conseguindo.
e na multiplicação ele não executa.
case "4": if($_POST['valor2'] != "0" ) $resultado = $_POST['valor1'] / $_POST['valor2']; else $resultado = "Não é possivel dividir por zero"; break;
e na multiplicação ele não executa.
Você pode usar o try
Outros links:
[url:descricao=Exceções - PHP]http://php.net/manual/pt_BR/language.exceptions.php[/url]
[url:descricao=How to efficiently use try…catch blocks in PHP]http://stackoverflow.com/questions/17549584/how-to-efficiently-use-try-catch-blocks-in-php[/url]
GOSTEI 0
Karine Sobral
29/05/2015
Marcio, código completo:
<html> <head> <title>Curso de PHP</title> </head> <body> <?php if ( isset($_POST['btnOperacao']) ) { $resultado = ""; switch ($_POST['operacao']){ case "1": $resultado = $_POST['valor1'] + $_POST['valor2']; break; case "2": $resultado = $_POST['valor1'] - $_POST['valor2']; break; case "3": $resultado = $_POST['valor1'] * $_POST['valor2']; break; case "4": if($_POST['valor2'] != "0" ) $resultado = $_POST['valor1'] / $_POST['valor2']; else $resultado = "Não é possivel dividir por zero"; break; } } if ( isset($resultado) && $resultado != ""){ echo "<h3>O resultado e: ".$resultado."</h3>"; } ?> <form method="post"> <p>Valor 1: <input type="text" name="valor1" /></p> <p>Valor 2: <input type="text" name="valor2" /></p> <p>Selecione a operacao: <select name="operacao"> <option value="1">Adicao</option> <option value="2">Subtracao</option> <option value="3">Multiplicacao</option> <option value="5">Divisao</option> </select></p> <p><input type="submit" value="Executar" name="btnOperacao" /></p> </form> </body> </html>
GOSTEI 0
Karine Sobral
29/05/2015
Mas está errado Jothaz essa forma?
GOSTEI 0
Giovani Leite
29/05/2015
Tentando entender o código, tambem com dificuldade, hehehe.
GOSTEI 0
Karine Sobral
29/05/2015
Pessoal, estou com um código que funciona, mas eu queria entender o por que este não funciona, para eu ter mais ideias.
GOSTEI 0
Karine Sobral
29/05/2015
Tentando entender o código, tambem com dificuldade, hehehe.
Se achar alguma forma, por favor me informe!
GOSTEI 0
Giovani Leite
29/05/2015
Informo sim.
GOSTEI 0
Karine Sobral
29/05/2015
Código completo diferente
<html> <head> <title>Curso de PHP</title> </head> <body> <?php if( isset($_POST['btnOperacao']) ) { $resultado = ""; $valor1 = $_POST['valor1']; $valor2 = $_POST['valor2']; switch($_POST['operacao']){ case "1": $resultado = $valor1 + $valor2; break; case "2": $resultado = $valor1 - $valor2; break; case "3": $resultado = $valor1 * $valor2; break; case "4": if($_POST['valor2'] != "0") $resultado = $valor1 / $valor2; else $resultado = "Não é possível dividir por zero"; break; } } if( isset($resultado) && $resultado != "" ){ echo "<h3>O resultado é: ".$resultado."</h3>"; } ?> <form method="post"> <p>Valor 1: <input type="text" name="valor1" /></p> <p>Valor 2: <input type="text" name="valor2" /></p> <p>Selecione a operacao: <select name="operacao"> <option value="1">Adição</option> <option value="2">Subtração</option> <option value="3">Multiplicação</option> <option value="4">Divisão</option> </select> </p> <p><input type="submit" value="Executar" name="btnOperacao" /></p> </form> </body> </html>
GOSTEI 0
Giovani Leite
29/05/2015
Não consegui, sempre aparece o erro que descreveu, não aparece a mensagem.
GOSTEI 0
Karine Sobral
29/05/2015
Sem problema Giovani, deu certo aqui, mas como disse antes, só queria o código que estava dando errado, entende-lo melho, mas obrigada.
GOSTEI 0
Marcio Araujo
29/05/2015
Karine, já que postou os dois códigos, da para você analisar.
GOSTEI 0
David Sylvestre
29/05/2015
Karine, seu problema foi um erro de digitação.
Seu código:
Código funcional
Seu código:
<option value="5">Divisao</option>
Código funcional
<option value="4">Divisão</option>
GOSTEI 0
Karine Sobral
29/05/2015
Poxa vida! Iria demorar muito para perceber isso! David, muito obrigada, olhei, olhei e olhei e nada!
GOSTEI 0
Marcio Araujo
29/05/2015
Tambem passou despercebido por mim.
GOSTEI 0
Thiago Moraes
29/05/2015
faz intval($str) por que se não se ta tentando dividir uma string cara
GOSTEI 0
Karine Sobral
29/05/2015
Não entendi Thiago.
GOSTEI 0
Karine Sobral
29/05/2015
Thiago???
GOSTEI 0
Thiago Moraes
29/05/2015
Então, eu vi ali, que a variavel que você está tentando dividir é uma string.
Por exemplo:
Todos os posts que pegamos, vem uma String não vem integer. (Pelos meus conhecimentos)
Você está tentando:
$valor1 = $_POST['valor1'];
$valor2 = $_POST['valor2'];
$valor1 = $valor1 / $valor2 // lembrando que isso é um exemplo.
o correto seria:
$valor1 = intval($_POST['valor1']);
$valor2 = intval($_POST['valor2']);
$valor1 = $valor1 / $valor2
Por exemplo:
Todos os posts que pegamos, vem uma String não vem integer. (Pelos meus conhecimentos)
Você está tentando:
$valor1 = $_POST['valor1'];
$valor2 = $_POST['valor2'];
$valor1 = $valor1 / $valor2 // lembrando que isso é um exemplo.
o correto seria:
$valor1 = intval($_POST['valor1']);
$valor2 = intval($_POST['valor2']);
$valor1 = $valor1 / $valor2
GOSTEI 0