Como verificar se a página já está sendo acessada?

Eu tenho um aplicativo da Web executado no servidor que permite apenas um usuário por página. Quero verificar se a página já está em uso. Se for ts, mudarei o colar do banner para vermelho e não permitirei acessar até que o uso seja feito. Mas eu não sei como posso fazer isso. É um aplicativo PHP e também estou usando alguns javascript. O aplicativo já está pronto, mas eu tenho que implementá-lo agora. Como verificar se a página já está sendo acessada?

   My locked Page   Yeah some cool shit man   

Eu rapidamente juntei algo para você, no caso de você querer uma abordagem de apenas php. Estamos trabalhando com um lockfile aqui. O primeiro usuário que está visitando a página gerará um lockfile com seu ID de session e o timestamp atual.

Todas as solicitações verificamos se o arquivo de bloqueio existe e, se sim, verificamos se o usuário pode visualizar a página, verificando seu ID da session. Em seguida, atualizamos o timestamp.

Se ele não é, verificamos se o tempo ocioso acabou. Se for esse o caso, podemos replace o arquivo de $idleSeconds porque o outro usuário não atuou por $idleSeconds

Essa é uma solução rápida e suja, mas mostra a idéia básica.

Codificação feliz;)

Independentemente do contexto do seu problema, eu pessoalmente nunca criaria um sistema que levasse a esse tipo de requisito. No entanto, vou assumir que você não tem escolha.

Uma abordagem é:

  1. Para ter pedidos de período via Ajax a partir do cliente atualmente na página (o gatilho inicial é o carregamento da página, Ajax depois).

  2. Faça cada pedido reiniciar um timer curto que dê a essa pessoa tempo adicional antes que alguém possa pular.

  3. Quando o timer expirar, suponha que eles tenham deixado a página, porque os pedidos do Ajax pararam.

Existem soluções mais acessíveis: melhor maneira de detectar quando um usuário deixa uma página da web?

No entanto, eles assumem a responsabilidade de decidir quando um usuário é terminado longe do servidor, o que idealmente você deseja mantê-lo.