Ir ao conteúdo

Posts recomendados

Postado

Eu tenho que fazer uma comparação entre dois numeros, usei html5/php, mas tem algum erro na linha 20 e 21:

<!DOCTYPE html>

<html lang="pt-br">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Comparando Números</title>

</head>

<body>

    <form action="Comparando.php" method="post">

        <input type="numero" name="numero1">            

        <input type="numero" name="numero2">

        <br>

        <br>

        <input type="submit" value="Comparar">

    </form>    

    <br>

    <br>



    <?php

        $numero1 = $_POST["numero1"];

        $numero2 = $_POST["numero2"];



        echo $numero1 . " x " . $numero2 . "<br>";



        if($numero1 != ""){

            if($numero1 == $numero2){

                echo "Números iguais!";

            } elseif($numero1 > $numero2){

                echo "Primeiro é maior";

            } else{

                echo "Segundo maior";

            }

        }

    ?>

</body>

</html>

 

Postado

Oi @Berus-kun !

 

  Em 28/01/2022 às 19:43, Berus-kun disse:

Eu tenho que fazer uma comparação entre dois numeros, usei html5/php, mas tem algum erro na linha 20 e 21:

Expandir  

Certo! Eu testei seu código e vi que na linha onde tem:

  Em 28/01/2022 às 19:43, Berus-kun disse:

<form action="Comparando.php" method="post">

Expandir  

Deveria esta dessa forma:

<form action="" method="post">

 

O atributo action do formulário informa ao form em que arquivo as informações inseridas no formulário serão tratadas, nesse caso nos queremos que essas informações sejam tratadas na mesma pagina do formulário, por isso deixamos esse atributo em branco!

 

  Em 28/01/2022 às 19:43, Berus-kun disse:

<!DOCTYPE html>

<html lang="pt-br">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Comparando Números</title>

</head>

<body>

    <form action="Comparando.php" method="post">

        <input type="numero" name="numero1">            

        <input type="numero" name="numero2">

        <br>

        <br>

        <input type="submit" value="Comparar">

    </form>    

    <br>

    <br>

 

    <?php

        $numero1 = $_POST["numero1"];

        $numero2 = $_POST["numero2"];

 

        echo $numero1 . " x " . $numero2 . "<br>";

 

        if($numero1 != ""){

            if($numero1 == $numero2){

                echo "Números iguais!";

            } elseif($numero1 > $numero2){

                echo "Primeiro é maior";

            } else{

                echo "Segundo maior";

            }

        }

    ?>

</body>

</html>

Expandir  

Se você tiver alguma duvida de como postar seus códigos, eu recomendo que leia esse tópico aqui!

  • Moderador
Postado

@Berus-kun Você pode separar as coisas.  Cria o arquivo index.html só com o formulário, e o arquivo comparando.php  só para receber os dados e fazer a comparação.

Evite de fazer tudo na mesma página, embora seja possível.

 

De qualquer forma, qual o erro que está dando?

Postado

Olá!
Quando o script é executado pela primeira vez, o array global $_POST ainda não tem os índices numero1 e numero2.
Se estiver usando php7+, defina um valor padrão assim:

$numero1 = $_POST['numero1'] ?? 0;

$numero2 = $_POST['numero2'] ?? 0;

Dessa forma, se $_POST['numero1'] não existir, o valor de $numero1 será igual a zero.

Você pode ler mais sobre a chegada do null coalescing operator ao php, aqui: https://www.php.net/manual/en/migration70.new-features.php


Outra sugestão de solução:
você pode colocar o trecho php dentro de uma condição:
 

<?php
if (isset($_POST['numero1'])) {
  $numero1 = $_POST["numero1"];

  $numero2 = $_POST["numero2"];


  echo $numero1 . " x " . $numero2 . "<br>";


  if ($numero1 != "") {

    if ($numero1 == $numero2) {

      echo "Números iguais!";
    } elseif ($numero1 > $numero2) {

      echo "Primeiro é maior";
    } else {

      echo "Segundo maior";
    }
  }
}

Dessa forma, o trecho em php só vai funcionar, depois q a variável numero1 for postada

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!