Sessões de usuário único
Salve galera!
Estou aprimorando o sistema que desenvolvi aqui para minha empresa.
Sempre que tenho tempo, aprimoro alguns pontos que deixam tudo mais dinâmico.
Sempre aproveito para reescrever o código e dar uma limpada e tals.
Percebi a necessidade de criar um ítem novo, mas esse ítem demanda
que apenas um usuário de cada vez edite a página.
Atualmente funciona da seguinte forma:
No db existe uma tabela com o número de linhas pré-definido. Cada vez que o usuário preenche os campos do form, ao invés de inserir, o sistema atualiza a tabela. Para limpar, ele preenche com NULL.
Funciona perfeitamente.
No entanto, gostaria de desenvolver uma área na qual vários usuários pudessem preenchem o mesmo formulário. Só que existe a seguinte possibilidade: dois usuários estão editando o mesmo formulário > o primeiro salva e fecha sua página > o segundo salva e fecha sua página, salvando sobre os dados que o outro havia inserido minutos antes.
Quero desenvolver algo no seguinte sentido: caso não haja ninguém online naquela página, o usuário pode editá-la sem problemas. Caso haja alguém logado editando aparecerá a mensagem:
"O usuário FULANO está editando esta página neste momento. É permitido apenas um usuário por sessão. Tente novamente mais tarde"
Tentei pesquisar nos fórums aqui, mas deu um problema e só consigo ver a primeira página dos resultados. Sempre que tento entrar na segunda página, direciona para o site tree.
É provável que surjam sugestões de uso de $_SESSION[]. Não tenho experiência com essa parte do PHP ainda. Mas se for a única solução... Pensei em fazer em cada tabela duas colunas:
|---SESSION---|---USER---|
|-------0---------|-FULANO-|
Neste caso, se um outro usuário tentar entrar, não conseguirá e receberá a mensagem.
|---SESSION---|---USER---|
|--------1---------|---NULL---|
Neste caso, o usuário poderá editar o conteúdo.
Pensei no JS/AJAX como solução. Ao fechar o browser, o usuário recebe um alerta de logout e ao clicar ok, suíta o status do SESSION/USER para 1/NULL e libera outro usuário para trabalhar.
Me ajudem! Valeu!
No caso minha ideia é que ao tentar carregar a página, a existência de um outro usuário seja verificado por um IF/ELSE em PHP mesmo. Essa minha ideia é válida ou to viajando muito?
Discussão (3)
Carregando comentários...