Ir para conteúdo
Fórum Script Brasil
  • 0

Retorno de dados para Input


CristhianElson

Pergunta

Olá boa tarde. Possuo uma dúvida em relação a retorno de valor para um formulário php.

Possuo um formulário chamado: index.php aonde com o method="post" envio os dados recebidos de um Input para um formulário chamado calcula.php, neste novo formulário tenho um exemplo de atribuição do valor informado no Inputpara uma variável e multiplica-lo por 2, ok, a partir deste momento surge minha dúvida como retornar o valor gerado novamente para o formulário index.php, qual método poderia estar utilizando e atribuir o resultado para o Input, e como tratar inicialmente o formulário index.php quando não tiver sendo retornado nada, por exemplo, durante seu primeiro acesso.

Caso exista uma forma melhor para a resolução do problema agradeço sugestões. Caso exista um post já relacionado com esta mesma dúvida peço desculpas, pois não o encontrei. Desde já agradeço pela atenção e compreensão.

Obrigado!

index.php

<!doctype html>
<html class="no-js" lang="pt-br">
<!--[if IE 9]><html class="lt-ie10" lang="pt-br"><![endif]-->  
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Teste</title>
</head>
<body>
    <center>
    <form name = "Enviar" class="container" action="calcula.php" method="post">
        <table>
            <tr>
            <td>
                <input type="text" name="Input">
            </td>
            </tr>

            <tr>
            <td>
                <input type="button" class="button" name="um" value="1" onClick="Enviar.Input.value += '1'">
                <input type="button" class="button" name="dois" value="2" onClick="Enviar.Input.value += '2'">
                <input type="button" class="button" name="tres" value="3" onClick="Enviar.Input.value += '3'">

                <input type="submit" class="button" name="igual" value="=">
            </td>
            </tr>
        </table>
    </form>
    </center>

</body>
</html>

calcula.php

<?php
    $valor = $_POST['Input'];

    $resultado = $valor * 2;

    // Como retornar o valor $resultado para o formulário index.php e atribuir o resultado no Input

    header("Location: ../index.php");

?>

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Bom dia, testa esses arquivos, fiz de cabeça então pode ser que de erro.

 

calcula.php

<?php
    $valor = $_POST['Input'];

    $resultado = $valor * 2;

    // retorna o valor pela url

    header("Location: ../index.php?resultado=".$resultado);

?>

index.php

<!doctype html>
<html class="no-js" lang="pt-br">
<!--[if IE 9]><html class="lt-ie10" lang="pt-br"><![endif]-->  
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Teste</title>
</head>
<body>
    <center>
      <?php
      //verifica se esta retornando valor pela url
      if(isset($_GET['resultado'])){
		echo $_GET['resultado'];
	} else { 
      //se não estiver mostra o formulario ?>
    <form name = "Enviar" class="container" action="calcula.php" method="post">
        <table>
            <tr>
            <td>
                <input type="text" name="Input">
            </td>
            </tr>

            <tr>
            <td>
                <input type="button" class="button" name="um" value="1" onClick="Enviar.Input.value += '1'">
                <input type="button" class="button" name="dois" value="2" onClick="Enviar.Input.value += '2'">
                <input type="button" class="button" name="tres" value="3" onClick="Enviar.Input.value += '3'">

                <input type="submit" class="button" name="igual" value="=">
            </td>
            </tr>
        </table>
    </form>
      <?php } //fim else ?>
    </center>

</body>
</html>

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, primeiramente desculpe pela demora no retorno. Ficou bacana a resolução ygor.anjos o máx que fiz posteriormente foi:

index.php

<!doctype html>
<html class="no-js" lang="pt-br">
<!--[if IE 9]><html class="lt-ie10" lang="pt-br"><![endif]-->  
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Teste</title>
</head>
<body>
    <center>
    <form name = "Enviar" class="container" action="calcula.php" method="post">
        <table>
            <tr>
            <td>
                <input type="text" name="Input" value="<?php
                    if(isset($_GET['resultado'])){//verifica se esta retornando valor pela url
                        echo $_GET['resultado'];
                    } else {
                        //se não estiver mostra o formulario
                    }
                ?>">
            </td>
            </tr>

            <tr>
            <td>
                <input type="button" class="button" name="um" value="1" onClick="Enviar.Input.value += '1'">
                <input type="button" class="button" name="dois" value="2" onClick="Enviar.Input.value += '2'">
                <input type="button" class="button" name="tres" value="3" onClick="Enviar.Input.value += '3'">
                <input type="button" class="button" name="limpar" value="C" onClick="Enviar.Input.value = ''">

                <input type="submit" class="button" name="igual" value="=">
            </td>
            </tr>
        </table>
    </form>
    </center>

</body>
</html>

calcula.php

<?php
    $valor = $_POST['Input'];

    $resultado = $valor * 2;

    // retorna o valor pela url

    header("Location: ../teste/index.php?resultado=".$resultado);

?>

Tecnicamente não houve mudanças radicais, porém sua resolução ajudou bastante, obrigado.

Será que não haveria outra maneira de ser resolvido, além de esconder o " ?resultado=5 " na barra de endereços após retornado um calculo? 

Link para o comentário
Compartilhar em outros sites

  • 0

voce pode fazer desse jeito:


<!doctype html>
<html class="no-js" lang="pt-br">
<!--[if IE 9]><html class="lt-ie10" lang="pt-br"><![endif]-->  
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Teste</title>
</head>
<body>
    <center>
<?php
      //verifica se o botao de nome igual foi clicado
      if(isset($_POST['igual'])){
		$valor = $_POST['Input'];
		echo $resultado = $valor * 2; //se sim ele faz o calculo e exibe na tela
	} else { //
?>
    <form name = "Enviar" class="container" action="#" method="post">
        <table>
            <tr>
            <td>
                <input type="text" name="Input">
            </td>
            </tr>

            <tr>
            <td>
                <input type="button" class="button" name="um" value="1" onClick="Enviar.Input.value += '1'">
                <input type="button" class="button" name="dois" value="2" onClick="Enviar.Input.value += '2'">
                <input type="button" class="button" name="tres" value="3" onClick="Enviar.Input.value += '3'">

                <input type="submit" class="button" name="igual" value="=">
            </td>
            </tr>
        </table>
    </form>
	<?php 
		} //final else 
	?>
    </center>

</body>
</html>

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...