Jump to content
Fórum Script Brasil
  • 0

filter_input (INPUT_GET, variable) não funciona


Question

O $valor1 não está puxando da URL abaixo:

http://localhost/bisaweb2/movimentacao_financeira/edicaomovimentacao.php?id_movimentacao=1&descricao_movimentacao=Compra%20pela%20Internet&tipo_movimentacao=Receita&data_movimentacao=2020-04-20&valor1=111.12&conta_bancaria=31

Alguma sugestão?

Arquivo: alterar_movimentacao.php:

<?php

    require_once '../user.php';
    require_once '../funcoes.php';

    /* Atribuição de valores as variáveis $descricao_conta e $saldo_inicial. */
    $id_movimentacao = filter_input (INPUT_GET, "id_movimentacao");
    $descricao_movimentacao = filter_input (INPUT_GET, "descricao_movimentacao");
    $tipo_movimentacao = filter_input (INPUT_GET, "tipo_movimentacao");
    $data_movimentacao = traduz_data_para_banco(filter_input (INPUT_GET, "data_movimentacao"));
    $valor1 = filter_input (INPUT_GET, "valor1");

    if (isset($_GET["valor2"])) {
    $getvalor2 = $_GET["valor2"];
    $valor2 = filter_var($getvalor2, FILTER_VALIDATE_FLOAT, DECIMAL);
    $valor3 = number_format($valor2, 2, '.','');
    }

    /* Verifica se está puxando conta_bancaria da URL e faz a atribuição de $conta_bancaria. */
    if (isset($_GET["conta_bancaria"])) {
    $getId = $_GET["conta_bancaria"];
    $conta_bancaria = filter_var($getId, FILTER_SANITIZE_NUMBER_INT);
    }

    /* Confere se é possível se conectar ao BD, emite mensagem se houver erro e apaga as querys, realiza o UPDATE e retorna para template_movimentacao.php. */
    if ($conn = mysqli_connect($host, $bdUsuario, $bdSenha, $bdBanco)) {
        echo "Connectado ao $bdBanco em $host com sucesso.";
        echo " valor1 = $valor1";
        echo " valor2 = $valor2";
        echo " getvalor1 = $getvalor1";
        echo !empty($_GET["valor1"]);
        var_dump(isset($_GET["valor1"]));
        if ($valor2 > 0) {
            $query1 = mysqli_query($conn, "SELECT * FROM conta_bancaria WHERE id_conta = '$conta_bancaria';");
            if (mysqli_num_rows($query1) == 1) {
                $query2 = mysqli_query($conn, "UPDATE movimentacao_financeira SET descricao_movimentacao='$descricao_movimentacao', tipo_movimentacao='$tipo_movimentacao', data_movimentacao='$data_movimentacao', valor='$valor2', conta_bancaria='$conta_bancaria' WHERE id_movimentacao='$id_movimentacao';");
                switch (strcasecmp($tipo_movimentacao, 'Receita')) {
                    case 0:
                        $query3 = mysqli_query($conn, "UPDATE conta_bancaria SET saldo_inicial=saldo_inicial-'$valor1' WHERE id_conta='$conta_bancaria';");
                        $query4 = mysqli_query($conn, "UPDATE conta_bancaria SET saldo_inicial=saldo_inicial+'$valor2' WHERE id_conta='$conta_bancaria';");
                        break;
                    case -14:
                        $query5 = mysqli_query($conn, "UPDATE conta_bancaria SET saldo_inicial=saldo_inicial-'$valor' WHERE id_conta='$conta_bancaria';");
                        break;
                }   
                if ($query3 OR $query4) {
                    header("Location: template_movimentacao.php");
                }
            }   
        } else {
            die ("Deve-se inserir uma Conta Bancária cadastrada.");
            unset($query1);
            unset($query2);
            }
    } else {
        echo "Valor não pode ser menor que 0.";
        unset($query1);
        }

    /* Se não for possível se conectar ao BD, emite mensagem. */
    if (mysqli_connect_errno($conn)) { 
        echo "Problemas para conectar no banco. Verifique os dados!"; 
        die(); 
    }
    ?>

Eu faço uma ação no formulário abaixo nesse arquivo edicaomovimentacao.php:

 

<h1>Sistema de Gestão Financeira - Alterar Conta Bancária</h1>
            <p>
            <form action="alterar_movimentacao.php">
                <input type="hidden" name="id_movimentacao" value="<?php echo $id_movimentacao ?>"/>
                Descrição da Movimentação Financeira: <input type="text" name="descricao_movimentacao" value="<?php echo $descricao_movimentacao ?>"/> <br />
                Tipo da Movimentação Financeira: <input type="text" name="tipo_movimentacao" value="<?php echo $tipo_movimentacao ?>"/> <br/>
                Data da Movimentação Financeira: <input type="text" name="data_movimentacao" value="<?php echo traduz_data_para_exibir($data_movimentacao) ?>"/> <br />
                Valor da Movimentação Financeira: <input type="text" name="valor2" value="<?php echo $valor ?>"/> <br />
                Conta Bancária da Movimentação Financeira: <input type="text" name="conta_bancaria" value="<?php echo $conta_bancaria ?>"/> <br />
                <input type="submit" value="Alterar"/>
            </form>
            </p>

 

Link to post
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148692
    • Total Posts
      644525
×
×
  • Create New...