Comunidad de diseño web y desarrollo en internet online

comprobar si un usario esta logueado o se deslogueo

Citar            
MensajeEscrito el 07 Nov 2010 02:39 pm
hola compañeros, estoy haciendo una aplicacinen flash, la entrada se hace mediante usuario y pw, pero para que dos compañeros no puedan entrar con las mismas claves a la vez, se me ha ocurrido que primero vea si esas claves estan o no logueadas en ese momento. Eso lo he conseguido con este codigo

var HOST:String = '/entrada';
var enviar_recibir:LoadVars = new LoadVars();
var usuario_logueado:String;

stop();

init(this._currentframe);

function init(curframe):Void
{
bt_cerrar_sesion._visible = false;
trace('usuario logueado = '+usuario_logueado);
trace('curframe = ' + curframe);
if(curframe == 2)
frame2()
}

el problema es que al hacer la prueba si estoy dentro y quiero volver a entrar desde otro navegador me dice usuario logeado. (eso esta bien) pero si cierro el navegador con el que entre en primer lugar y de nuevo pruebo a entrar con el segundo navegador, me sigue dando el mismo error.

Es como si no desconectara de la bd la opcion de "logueado"

De aqui mi pregunta, como decirle a la bd que ese usuario dejo la aplicacion sin la utilizacion de botones, es decir po ip o algo parecido. o si hay alguna otra forma de hacer esta comprobacion, se agradece vuestra ayuda.

UN SALUDO

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2010 02:03 pm
No entiendo que hace el code que pusiste, si está en frame 2 ejecuta frame2() ... ¿que tiene que ver eso con estar logeado? ¿Para que usas el LoadVars?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Nov 2010 02:38 pm
me falto pegar mas codigo, te lo pongo todo. pero lo de comprobar que esta logueado esta resuelto lo que necesito es que cuando cierre el navegador en mi bd cambie a logoaut.

Código ActionScript :

var HOST:String = '/entradar';
var enviar_recibir:LoadVars = new LoadVars();
var usuario_logueado:String;

stop();

init(this._currentframe);

function init(curframe):Void
{
   bt_cerrar_sesion._visible = false;
   trace('usuario logueado = '+usuario_logueado);
   trace('curframe = ' + curframe);
   if(curframe == 2)
      frame2()
}

//functions

//frame1
bt_iniciar.onPress = function()
{
   gotoAndPlay(2);
}

/*bt_cerrar_sesion.onPress = function()
{
   trace('logout');
   enviar_recibir.action = 'logout';
   enviar_recibir.usuario = usuario_logueado;
   enviar_recibir.sendAndLoad('php/entrada.php', enviar_recibir, 'POST');
   enviar_recibir.onLoad = function()
   {
      if(enviar_recibir.err == 'S')
         erradmin.text = 'desconectado';
      else
         erradmin.text = 'desconectado con error';
      
      gotoAndPlay(2);
   }
}*/

//frame2
function frame2():Void{
   Stage.showMenu = false;
}

admision.login.btn_entrar_login.onPress = function() {
   /*enviar_recibir.action = 'login';
   enviar_recibir.usuario = usuario.text;
   enviar_recibir.pw = pw.text;
   enviar_recibir.sendAndLoad('php/entradar.php', enviar_recibir, 'POST');
   enviar_recibir.onLoad = function()
   {
      trace('err '+enviar_recibir.err);
      erradmin.text = '';
      //el usuario ya se logueo anteriormente y no ha cerrado sesion
      if(enviar_recibir.err == 'S')
         erradmin.text = 'esta logueado';
      //el usuario ha iniciado sesion por primera vez
      else if(enviar_recibir.err == 'N')
      {
         erradmin.text = 'usuario logueado';
         usuario_logueado = enviar_recibir.usuario;
         gotoAndStop(5);
      }
      //los datos no existen en la base de datos
      else if(enviar_recibir.err == 'NA')
         erradmin.text = 'datos incorrectos';
   }*/
   if(admision.login.usuario.text == 'a' && admision.login.pw.text == 'a')
   {
      mensaje('Has ingresado');
      local_data = SharedObject.getLocal("user_data");
      gotoAndStop(5);
   }
   else if (admision.login.usuario.text == 'b' && admision.login.pw.text == 'b') 
   {
      gotoAndStop(20);
   } 
   else
   {
      gotoAndStop(3);
   }   
};

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2010 02:43 pm
Shared Object sirve para una sola máquina, es como un cookie.
Cuando cierras el navegador, Flash no puede interceptar la acción, lo tienes que hacer con JavaScript (hay un evento cuando se cierra el navegador, consulta la ayuda de JS) y pasarle el estatus a Flash si tuviera que hacer algo .... aunque de nuevo, con SharedObject no hay estatus compartido, tiene que ser en algo que no sea local

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Nov 2010 04:11 pm
gracias por tu respuesta, he estado mirando por la ayuda de js y no encentro ese evento que comentas, no sabrias decirme cual es verdad?

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2010 04:42 pm
creo que encontre algo

<html>
<head>
<title>Abre al salir</title>
<script>
function abreventana(){
window.open("http://www.google.es","venta","")
}
</script>
</head>

<body onunload="abreventana()">

<a href="http://www.desarrolloweb.com">DW!!</a>
</body>
</html>

Por crivi01

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Nov 2010 05:31 pm
Eso mismo, solo hay que sabre buscar ;)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.