Ir ao conteúdo
  • Cadastre-se

Soma em PHP exibir no html.


Posts recomendados

Olá fiz um sistema de soma em php, mais eu queria que o valor do resultado em php fosse exibido na pagina em html.

HTML

<body>
<form action="a1.php" method="POST">

<input type="text" name="num1"/>
<input type="text" name="num2"/>
<input type="text" name="num3"/>
<input type="text" name="num4"/>
<input type="submit" value="soma"/>

</form>
</body>

PHP

<?php
extract($_POST);
echo $num1+$num2+$num3+$num4
?>

Link para o comentário
Compartilhar em outros sites

  • Moderador

Quando você dá um echo em uma variável.. ela será impressa em tela.

está correto, apesar de não gostar muito do jeito que foi feito.. eu particularmente prefiro desta maneira:


<?php
$num1 = $_POST["num1"];
$num2 = $_POST["num2"];
$num3 = $_POST["num3"];
$num4 = $_POST["num4"];

$soma = $num1 + $num2 + num3 + num4

echo $soma;
?>

Assim muitas vezes evita complicações.. além de ser mais "claro"

o resultado sempre será impresso em tela branca... a menos que você use um css para estilizar o resultado..ou colocar em um alert de javascript.

neste caso podes fazer desta maneira:


<?php
$num1 = $_POST["num1"];
$num2 = $_POST["num2"];
$num3 = $_POST["num3"];
$num4 = $_POST["num4"];

$soma = $num1 + $num2 + num3 + num4

echo "<div id='resultado'> $soma </div>
?>

CSS: #resultado{ color: red; background-color: #e1e1e1; border: 1px solid #000;}

Caso você tenha curiosidade em ver em tempo real a resposta logo abaixo do formulário.. é preciso usar ajax para fazer as requisições assíncronas. Para isto podes pesquisar sobre como usar a função $.ajax() do jQuery.

Link para o comentário
Compartilhar em outros sites

  • 2 anos depois...
  • Moderador

@Jessé Viana_675498

 

Se eu entendi,  tu quer dizer que quando submetido.. se o valor do type number e outro do checkbox estiver vazio.. atribuir um valor padrão?

 

Seria algo parecido com isso:

$n1 = $_POST["n1"];$n2 = $_POST["n2"];$n3 = $_POST["n3"];$valor1 = (empty($n1)) ? 1 : $n1;$valor2 = (empty($n2)) ? 1 : $n2;$valor3 = (isset($n3) == false) ? 1 : $n3;echo  $soma = $valor1 + $valor2 + $valor3;

O valor um seria um campo input tipo text,  o valor 2 seria um campo tipo number  e o valor 3 seria um input tipo radio 

No caso, ali fiz em uma cadeia de if ternária, onde primeiro vem a expressão seguido de ?(if)  : (else)

Então o Se o $n1 estiver vazio, ele atribui o valor de 1, senão o valor é o que ele digitou

Mesma coisa para o $n2, se estiver vazio, ele atribui o valor 1, senão é o valor que definiu 

No terceiro, como é um radio, não podemos testar com empty.. então checo se tem conteúdo com isset,, e testo se for falso, o valor do radio é 1, senão o valor é o que estiver definido no value.

 

é +- por ai

Link para o comentário
Compartilhar em outros sites

@dif

 

Meu formulário é esse:

<form id="orcamento" method="post" action="acao.php"><label>Produto 01: </label><input type="checkbox" name="somatorio[]" value="16.50"><br/><br/><label>Produto 02: </label><input type="checkbox" name="somatorio[]" value="30"><br/><br/><label>Produto 03: </label><input type="checkbox" name="somatorio[]" value="4.50"><br/><br/><label>Produto 04: </label><input type="checkbox" name="somatorio[]" value="40"><br/><br/><label>Produto 05: </label><input type="checkbox" name="somatorio[]" value="0"><br/><br/><label>Produto 06: </label><input type="number" name="somatorio[]" min="1" value="40"><br/><br/><label>Produto 01: </label><input type="checkbox" name="somatorio[]" value="20.50"><br/><br/><label>Produto 02: </label><input type="checkbox" name="somatorio[]" value="30"><br/><br/><label>Produto 01: </label><input type="checkbox" name="somatorio[]" value="25.50"><br/><br/><label>Produto 02: </label><input type="checkbox" name="somatorio[]" value="30"><input type="submit" value="Gerar Orçamento"></form>

e a página ação

Resultatdo é<?php$somatorio = $_POST['somatorio'];$soma = 0;foreach ($somatorio as $opcao) {	$soma += $opcao;}echo 'R$' . number_format($soma, 2, ',', '.');?>

Coloquei um input number para ver se conseguiar realizar a soma e era descontado o valor desse number no valor total. Estou tentando deixar  o number com um valor fixo mas sem aparecer na tela

 

Outro problema que aparece é quando não marca nenhuma opção e pede o orçamento, aparece esse erro:

 

Notice: Undefined index: somatorio in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\realliza\acao.php on line 56

Warning: Invalid argument supplied for foreach() in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\realliza\acao.php on line59

 

 

Tem como retirar?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...