1
resposta

REFAZER UMA SESSION APOS ALTERAÇÃO

Pessoal, tudo bem?

Estou criando um sistema, no qual, o header expõe por exemplo o nome do funcionário "x" (variável é utilizada através de um get no banco):

Mais ou menos assim o header: Foto | Nome: Mateus F P Melo | Data de hoje

Esse nome é alterado a partir de um input que vai mandar o novo valor pro banco de dados. O banco atualiza corretamente, eu consigo ver atualização na tela quando ele atualiza, só que a mesma variável que está no header ela não atualiza. O motivo acredito eu que seja porque é necessário que realize uma atualização na SESSION criada. Então, mesmo após a alteração, o header se mantêm com a variável antiga, assim:

Foto | Nome: Mateus F P Melo | Data de hoje

** Em ressalva conforme dito a cima, o banco é atualizado e dentro da página - o "body" da página - é atualizado e visto a alteração.

Mesmo, por exemplo, eu alterando o nome para Mateus Melo, eu consigo ver no banco a alteração, porém é necessário que eu "deslogue" a SESSION da aplicação e logue novamente para que o Header atualize essa variável que ele puxa do banco.

Vocês conseguem me falar como eu faria essa atualização da sessão especificamente sem ter que deslogar? E se sim, eu farei isso no model? Dentro da função que faz a alteração deste input? Ou farei no controller, com algum código que irá mandar ele atualizar a sessão?

1 resposta

Olá, Mateus, tudo bem?

Desculpa pela demora para responder o seu tópico.

Uma solução seria atualizar a SESSION logo após a atualização do banco de dados, sem a necessidade de deslogar e logar novamente.

Você pode fazer isso no controller, após a função que faz a alteração do input. Basta atualizar a variável da SESSION com o novo valor do nome do funcionário. Por exemplo:

$_SESSION['nome_funcionario'] = $novo_nome;

Assim, a variável da SESSION será atualizada com o novo valor e o header deverá exibir o nome atualizado.

Espero ter ajudado e bons estudos!