Israel Lira 0 Denunciar post Postado Abril 21, 2019 Fiz algumas buscas, até encontrei várias referencias apontando o mesmo erro que o meu, porém, não entendi ao certo o problema. Ao abrir uma pagina estou obtendo o seguinte erro: <br /><b>Notice</b>: Undefined variable: codigo in <b>D:\PROJETOS\LOCALHOST\FOLHADEPAGAMENTO\CARGOSEDITAR.php</b> on line <b>36</b><br /> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if (!empty($_GET['codigo'])) { /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br> </form> <label>Descrição</label> <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
FelipeFlorindo 0 Denunciar post Postado Abril 21, 2019 Nenhuma de suas variáveis estão declaradas caso não estejam recebendo algum valor, você deve declara-las antes da condição IF, ou com um ELSE após a condição IF e colocar as variáveis com valores nulos ou vazios. Assim: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Israel Lira 0 Denunciar post Postado Abril 21, 2019 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> -------------------------------------------------------------------------------- <?php $dados = $_POST; if ($dados['codigo']) { /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); /** Atribui a variável $query a instrução para deletar um registro. */ $query = "UPDATE cargo SET descricao = '{$dados['descricao']}', salario = '{$dados['salario']}' WHERE codigo = '{$dados['codigo']}'"; $resultado = pg_query($db, $query); /** Executa a consulta na conexão com o banco de dados e com query*/ if ($resultado) { print 'Cargo atualizado com sucesso'; } else { print pg_last_error($db); } /** Fecha a conexão com o PostgreSQL */ pg_close ($db); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
FelipeFlorindo 0 Denunciar post Postado Abril 22, 2019 Supondo que esse trecho abaixo seja o o arquivo form.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> e esse seja o arquivo CARGOSALVARUPDATE.php <?php $codigo = isset($_POST["codigo"]) ? $_POST["codigo"] : false; $descricao = isset($_POST["descricao"]) ? $_POST["descricao"] : ""; $salario = isset($_POST["salario"]) ? $_POST["salario"] : ""; if($codigo){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); /** Atribui a variável $query a instrução para deletar um registro. */ $query = "UPDATE cargo SET descricao = '$descricao', salario = '$salario' WHERE codigo = '$codigo'"; $resultado = pg_query($db, $query); /** Executa a consulta na conexão com o banco de dados e com query*/ if($resultado) print 'Cargo atualizado com sucesso'; else print pg_last_error($db); /** Fecha a conexão com o PostgreSQL */ pg_close ($db); } ?> Pelo que parece, o form já vem setado a variável $codigo, por exemplo: http://localhost/form.php?codigo=10 Desta forma retornaria o formulário preenchido. Ao alterar e clicar em Enviar é direcionado via $_POST para o link abaixo: http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php Correto? Se for desta forma, os códigos apresentados já estão corrigidos e não há problemas. Agora se você não informar um valor para a variável $codigo, o formulário sempre ficará vazio. O link desta forma retorna um formulário vazio: http://localhost/form.php E o link desta forma retornará o formulário preenchido: http://localhost/form.php?codigo=10 Foi colocado um numero 10 apenas para efeito de entendimento. Edit: a configuração readonly="1" que estava bloqueando a digitação dentro do campo de texto! Compartilhar este post Link para o post Compartilhar em outros sites
Israel Lira 0 Denunciar post Postado Abril 22, 2019 CARGOSEDITAR.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites