Allow access to a PHP page only 1 user at a time

5

I am creating a call answering system, and to avoid confusion when answering a request, I need to restrict the PHP page containing the call data to 1 access at a time for each caller user, so when someone another user on the same team can not access the page.

Question: Can this restriction be done using SESSION?

    
asked by anonymous 29.05.2015 / 16:54

1 answer

1

I think it's cool to do this:

The user who wants to be served makes a minimum registration in a form example: name and email.

Through the post method it is inserted into a table and redirected to the queue.

adding.php

<?php

 $nome = $_POST['nome'];
 $email = $_POST['email'];

 // repare que criei um status que será usado mais tarde, se for 0 significa que está na fila
 mysql_query("INSERT INTO fila(id_fila, nome_usuario, email_usuario, status) VALUES (0, '$nome', '$email', 0");

 // abre uma sessao
 $_SESSION['email'] = $email;

 header("Location: esperando.php");

?>

waiting.php

 <?php

 $emailUsuario = $_SESSION['email'];
 $selecionaUsuariosEspera = mysql_query("SELECT * FROM fila WHERE email = '$emailUsuario'");
 $usuariosEmEspera = mysql_fetch_assoc($selecionaUsuariosEspera);


 //verifica se o usuário ainda está na fila

 if($usuariosEmEspera['status'] == 1){
//se o status dele for 1 significa que o atendente solicitou a presença em um outro ambiente, e ai ele vai.....

header("Location: areaDeAtendimento.php");

 } else {

  //se não ele continua a esperar.....

?>
<html>
<head>
// repare abaixo que a página vai ficar fazendo refresh a cada 1 minuto(acho)...
// Para que? Para fazer a analise do banco de dados denovo...
<meta http-equiv="refresh" content="60">
</head>
<body>

aguarde...

</body>
</html>

 <?php } ?>

AreaAbout.php

You will have to create an attendance table like this ..

-id

-remove

-Destinator

-msg

-num_care

When the clerk clicks the "Next to the Queue!" button it goes to another page that will happen this ...

requestingUser.php

<?php

 //seleciona o último da fila que o status = 0
 $selecionaUltimoDaFIla = mysql_query("SELECT * FROM fila WHERE status = 0 LIMIT 1");

  $ultimoUsuario = mysql_fetch_assoc($selecionaUltimoDaFIla);

  $email =  $ultimoUsuario['email'];

  //altera o status do usuario selecionado
  mysql_query("UPDATE fila SET status = 1 WHERE email = $email");


  //seleciona o ultimo numero de atendimento realizado
   $ultimoNumero = mysql_query("SELECT num_atendimento FROM atendimento ORDER BY num_atendimento DESC LIMIT 1");

   $numero = mysql_fetch_assoc($selecionaUltimoDaFIla);

   $numero = numero + 1;

  mysql_query("INSERT INTO atendimento(id, remetente, destinatario, msg, num_atendimento)VALUES(0, '$atendente', '$email', 'Seja Bem Vindo! Em que possoa ajudar', $numero)");

 $_SESSION['id_atendimento'] = $numero;

 header("Location: areaDeAtendimento.php");

?>

In the area of atendimento.php you select all the posts where the num_store was = the SESSION service id.

I think I've gone too far .. kkk ... I do not know if in the end this is what you need but ok

Hugs!

    
31.05.2015 / 03:19