Você está fazendo PHP da maneira procedural aqui. Isso significa que as instruções são executadas uma após a outra, então o problema está na maneira como você coloca suas instruções.
Em seu código, você está exibindo o formulário primeiro e só então o atualizando, então é por isso que os valores anteriores são buscados, embora a atualização esteja acontecendo apenas mais tarde.
Solução: A função
save_edits()
e sua chamada deve vir primeiro seguida por edit_page().
Outra coisa importante em termos de segurança, você está inserindo diretamente o valor obtido na barra de endereços. Agora do jeito que está, alguém pode descartar sua tabela inteira escrevendo em um pedaço de código . Você pode usar
mysql_real_escape_string()
para evitá-lo (embora não totalmente) ou melhor ainda:Por favor, não use
mysql_*
funções no novo código
. Eles não são mais mantidos e estão oficialmente obsoletos
. Veja a caixa vermelha
? Saiba mais sobre declarações preparadas
em vez disso, use PDO
, ou MySQLi
- este artigo
irá ajudá-lo a decidir qual. Se você escolher PDO, aqui está um bom tutorial
. Por fim, você não está fechando seu
<form>
marcação.