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>