Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 522380
            [titulo] => Divisão por zero - não aparece mensagem
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-06-09 21:05:37
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 418260
            [status] => A
            [isExample] => 
            [NomeUsuario] => Karine Sobral
            [Login] => karinesobral
            [Apelido] => 
            [Foto] => 418260_20150315104439.jpg
            [Conteudo] => Agora sim, entendi perfeitamente, obrigada e desculpa por qualquer coisa.
        )

)

Divisão por zero - não aparece mensagem

PHP
Karine Sobral
   - 29 mai 2015

Gostaria que aparecesse no browser uma mensagem informando que a divisão por zero não é possivel, mas não estou conseguindo.
#Código
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.

Post mais votado

Karine Sobral
   - 09 jun 2015

Agora sim, entendi perfeitamente, obrigada e desculpa por qualquer coisa.

Marcio Araujo
   - 29 mai 2015

Posta o código completo por favor!

Jothaz
   - 29 mai 2015


Citação:
Gostaria que aparecesse no browser uma mensagem informando que a divisão por zero não é possivel, mas não estou conseguindo.

#Código

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:

Exceções - PHP

How to efficiently use try…catch blocks in PHP

Karine Sobral
   - 29 mai 2015

Marcio, código completo:

#Código

<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>

Karine Sobral
   - 29 mai 2015

Mas está errado Jothaz essa forma?

Giovani Leite
   - 29 mai 2015

Tentando entender o código, tambem com dificuldade, hehehe.

Karine Sobral
   - 29 mai 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.

Karine Sobral
   - 29 mai 2015


Citação:
Tentando entender o código, tambem com dificuldade, hehehe.


Se achar alguma forma, por favor me informe!

Giovani Leite
   - 29 mai 2015

Informo sim.

Karine Sobral
   - 30 mai 2015

Código completo diferente

#Código

<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>

Giovani Leite
   - 30 mai 2015

Não consegui, sempre aparece o erro que descreveu, não aparece a mensagem.

Karine Sobral
   - 30 mai 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.

Marcio Araujo
   - 30 mai 2015

Karine, já que postou os dois códigos, da para você analisar.

David Sylvestre
   - 01 jun 2015

Karine, seu problema foi um erro de digitação.

Seu código:
#Código<option value="5">Divisao</option>

Código funcional
#Código<option value="4">Divisão</option>

Karine Sobral
   - 01 jun 2015

Poxa vida! Iria demorar muito para perceber isso! David, muito obrigada, olhei, olhei e olhei e nada!

Marcio Araujo
   - 01 jun 2015

Tambem passou despercebido por mim.

Thiago Moraes
   - 03 jun 2015

faz intval($str) por que se não se ta tentando dividir uma string cara

Karine Sobral
   - 03 jun 2015

Não entendi Thiago.

Karine Sobral
   - 04 jun 2015

Thiago???

Thiago Moraes
   - 09 jun 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