Hola estoy implementando un chat/bandeja de entrada característica en mi sitio web. Cuando los usuarios no están conectados, y recibir un mensaje de otro usuario, el sitio le enviará un correo electrónico al destinatario del mensaje. Sin embargo, cuando el usuario se registra, no se.

Mi pregunta es ¿cómo puedo saber si un usuario está logueado o no? Por ejemplo, si un usuario se registra en y, a continuación, cierra el navegador de mi backend no sabe nada.

Por cierto me estoy construyendo una Angularjs SPA con una API restful en Laravel 4.?

Creo que es mejor para implemnt esta en Angularjs y no en php… en php se puede hacer un poco de «tonto» como la comprobación de que el usuario está en línea, si él era activo en los últimos 2 minutos que
¿cómo puedo hacer esto en angularjs? Mi backend debe comprobar si el usuario está conectado y, a continuación, decidir si enviar un correo electrónico o no
escuchar hay 2 diffrents tareas en lo que quieres hacer… 1:averiguar si el usuario está conectado o no(php Auth::check())…. 2: averiguar si el usuario está conectado o no, para esta tarea es necesario utilizar angularjs con, por ejemplo, websocket

OriginalEl autor user1424508 | 2013-12-20

2 Comentarios

  1. 4

    Me sugieren el uso de Ajax para ping la base de datos cuando el usuario inicia la sesión. Añadir un last_logged_in columna de tipo Date
    De modo que cuando los usuarios inician sesión en la que se actualiza su last_logged_in campo para la fecha actual. Usted puede hacer esto de Ajax tan a menudo como te gusta (muy mínimo los problemas de rendimiento). A ver si un usuario se registra, simplemente marque la last_logged_in fecha y compararla con la fecha actual menos algún tiempo (1 minutos)..

    Yo no sugieren su uso a los usuarios de correo electrónico ya que puede resultar en un montón de spam.
    Usted puede utilizar el is_logged_in campo en adición, pero no la utiliza en su propio.

    OriginalEl autor wolfdawn

  2. 19

    si usted está utilizando construir-en Laravel Auth:

    if(Auth::check())
    {
       //do something
    }

    si usted está usando Sentry:

    if(Sentry::check())
    {
       //do something
    }
    Yo no lo entiendo. Si el usuario es Un usuario de mensajería B que no esté registrado en ¿cómo puedo saber si el usuario B se registra en? Pensé Auth::marque sólo funciona para el usuario actual, es decir, el que envía el mensaje que se registra en?
    Hola, en ese caso, usted necesita una columna en la tabla de usuarios. yo.e ‘logged_in’ , si un usuario se registra en el conjunto de 1. Y cuando la sesión, el conjunto es 0.
    Marque esta columna para comprobar si un usuario ha iniciado sesión o no
    Lo que si inicia sesión en el usuario cierra su navegador? Lo que hubiera cambiado la columna a la sesión?
    Usted puede simplemente ejecutar el cron que se ejecuta cada 5 a 10 minutos que se actualice el usuario si la cookie de sesión ya no existe, y luego, en su sesión de configuración, establezca expire_on_exit a la verdad. Usted podría también utilizar Ajax cuando la ventana se está cerrando para enviar un php solicitud de desconexión de la ruta.

    OriginalEl autor Anam

Dejar respuesta

Please enter your comment!
Please enter your name here