Jump to content
Fórum Script Brasil
  • 0

UPDATE não salva alteração no Banco - Com PHP


wioart

Question

Olá companheiros,
 
Estou com um problema numa situação de atualização de cadastro no banco de dados. Usei métodos explicados em outros tópicos do Fórum porém não obtive sucesso.
 
- Tenho 3 páginas: lista, editar e salvar, todas .php.
 
- Puxo as informações do banco em lista.php e as linco para serem editadas em editar.php.
 
- O link funciona, abre em editar.php com o id vindo do banco e trazendo as informações necessárias, tudo certo.
 
- Eu altero os dados da coluna nome, por exemplo, e ele vai para a tela salvar.php mas não salva a alteração no banco, ele apaga ela!
 
- Tentei dar um echo em $id e $nome para ver o que estava chegando na tela, o id vem (pois estava no hidden da página anterior), mas não vem nada do $nome para salvar.php.

Exemplo:
Nome [Carlos] > altero para [João]
[Botão Editar] > clico em editar
Ele salva o dado, da coluna Nome do banco, em branco:
Nome [_______]
 
O que pode estar errado? Segue meu código das 3 páginas:
Obs: A linhas estão comentadas de acordo com um post do blog da Microcamp (link), talvez ajude no raciocínio:
 
::: Página que lista.php:
 
<?php
require_once('Connections/inscricao.php');
 
mysql_select_db($database_inscricao, $inscricao);// Selecionando o banco de dados
 
$resultado = mysql_query("SELECT * FROM congresso"); // A Variável $resultado faz uma consulta na tabela selecionando todos os registros de todos os campos
 
while($linha = mysql_fetch_array($resultado)) //A instrução while faz um loop entre todos os registros e armazena seus valores na variável $linha
{//Inicia o loop
?> 
<a href="editar.php?id=<?php echo $linha['id']; ?>"><!-- Passando o valor do id para a página editar.php -->
<?php
echo $linha['nome']; // Mostra o valor do registro dentro do loop
echo "<br />"; 
} // Retorna para o início do loop caso existam mais registros a serem mostrados
 
mysql_close($inscricao);
 
?>
 
::: Página editar.php
 
<?php
 
$id = $_GET['id']; // Recebendo o valor vindo do link
 
require_once('Connections/inscricao.php'); 
 
mysql_select_db($database_inscricaoicloc, $inscricao);// Selecionando o banco de dados
 
$resultado = mysql_query("SELECT * FROM congresso WHERE id = '".$id."'"); // Há variável $resultado faz uma consulta em nossa tabela selecionando somente o registro desejado
 
while($linha = mysql_fetch_array($resultado)) //Já a instrução while faz um loop entre todos os registros e armazena seus valores na variável $linha

?>
 
<form method="POST" action="salvar.php">
 
<input type="hidden" name="id" value="<?php echo $linha['id']; ?>" /><!-- Passando o valor da id em um campo oculto -->
 
<strong>Nome</strong>: 
 
<input type="text" name="nome" value="<?php echo $linha['nome']; ?>" /><br /><!-- Mostrando dentro do form o valor do campo nome -->
 
<input type="submit" value="Editar" />
</form>
<?php
}
?>

 
::: Página salvar.php: (acredito que o erro esteja aqui, pois até a tela editar tudo funciona)
 

<?php
require_once('Connections/inscricao.php');
 
mysql_select_db($database_inscricaoicloc, $inscricao);// Selecionando o banco de dados
 
$id = $_POST['id'];
$nome= $_POST['nome'];
 
echo $id;
echo $nome;
 
mysql_query("UPDATE congresso SET nome='".$nome."' WHERE id='".$id."'");
mysql_close($inscricao);
?>

 

Agradeço desde já pela colaboração.

 

 

Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...