Comunidad de diseño web y desarrollo en internet online

cómo iniciar y "grabar" sesion de usuario desde sw

Citar            
MensajeEscrito el 19 Oct 2005 09:08 am
Hola, si alguien me puede orientar donde existe un manual o codigo, para iniciar sesion de usuario desde flash utilizando php.

Tengo una base de datos: los campos son iduser,username, usernick,userpass.

En el form.swf las variables que quiero utlizar son "nick_txt.text" y "pass_txt.text" . que corresponden a usernick y userpass respectivamente.

Quiero hacer esto porque tengo datagrids en flash y sólo algunos usuarios pueden acceder a estas consultas.Y quiero saber si se puede mantener el identificador de sesion del usuario mientras utilize los swf. o ya sea que ponga los swf dentro de un archivo php.

anticipadamente gracias por sus respuestas.

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Oct 2005 11:33 am
Para eso debes usar FlashRemoting y AMFPHP v1.0ms3 que es la primera version que dá soporte de a php sessions

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 19 Oct 2005 12:03 pm
Las sesiones de PHP no son necesarias si no te sales del swf de flash

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

firefox
Citar            
MensajeEscrito el 19 Oct 2005 03:04 pm
hola MorphX, gracias por tu respuesta,...entiendo, si utilizo flash remoting milestone 3, sólo tendría que validar y/o confirmar si existen el usuario-contraseña, o es que también debo indicar en el archivo login.php lo siguiente:

Código :

// he consultado por usernick y userpass , pero he tratado de  decobrar el iduser. Si lo extraigo:
session_name();
session_start();
session_register("iduser");
session_encode():
$url=Location:mypage.php?PHPSESSID=".$PHPSESSID;
header($url);


hola ICEM4N;gracias por tu respuesta. ... te refieres a las declaraciones que van al principio de cada archivo.php al cuál va a acceder el usuario autorizado? :

Código :

session_name();
session_star();
session_register("iduser");
session_encode():
$url=Location:mypage.php?PHPSESSID=".$PHPSESSID;

Pero esto sería siempre y cuando utilize a php como "cama" para cada una de mis swf. o es que se puede hacer lo siguiente también?

Código :

session_name();
session_star();
session_register("iduser");
session_encode():
$url=Location:table1.swf?PHPSESSID=".$PHPSESSID;
header($url);

utilizo flash 8. recién estoy tocando estos temas de AS y PHP, pero ya he logrado hacer 10 swf y cada uno tiene dataset a diferentes tablas.

Otra duda que tengo es ¿cómo es que flash mantiene el PHPSESSID si utilizo el flash remoting.?

Pero mejor vamos por partes.., primero esto. por favor.


No sé si me dejo entender.

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 19 Oct 2005 03:13 pm
Veamos, el swf como sabras se ejecuta en el cliente, osea en el espacio de memoria del visitante, a parte un swf puede ser descompilado, esto nos lleva a que cualquier sistema de autentificación en flash y php, debe hacerse en el php, de modo que el proceso de autentificación no pueda ser alterado por el visitante, de modo que no es necesario que en todos los php pongas session_start(), dado que el AMF inicia la session por defecto, y simplemente úsala, y los php son servicios, de modo que no sobreviven la session la mantiene AMF activa, se genera una session por cada instacia de proceso flash, osea una vez lanzas el proceso flash, ya tienes las session, y los swf que cargues dentro de él tb la veran, solo se creara otra session si se lanza un nuevo player.

Con eso ya solo tienes que validar los datos en un servicio php, y devolver la autorización al flash.

;)

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 19 Oct 2005 10:52 pm
ok Morph. entonces voy a preparar bien mi codigo, y si tengo problemas , me podrás ayudar?

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Oct 2005 06:36 am
Para eso estamos akí ;)

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

firefox
Citar            
MensajeEscrito el 20 Oct 2005 11:17 pm
bueno ahí va mi codigo flash, que por cierto no me funka. Lo he aprovechado de un sample del mismo macromedia , le quité algunas cosas porque no los entendía...

el validlogin, es un input text. para ver si el servidor me da respuesta, pero nada de nada..., a lo mejor mi error también está en script de php ( estoy esperando respuesta de eso en el foro php).



Código :

var validlogin= validlogin_txt.text.selectable=false
var usernick = usernick_txt.text;
var userpass = userpass_txt.text;

userpass_txt.password = false;

/* Define un  click handler para la instacia del boton "entrar"
  la cual llamará a la funcion checkForm que se definirá despues. */
entrar_btn.clickHandler = function() {
   checkForm();
};

/* Creando un  objeto lisstener el cual es usado tanto para las variables 
   usernick_var y userpass_var en las instacncias de las cajas de entrada de texto. 
   Éste listener "escuchará" lo que se haga con la tecla "neter".
*/
var formListener:Object = new Object();
formListener.enter = function(evt) {
   checkForm();
};
usernick_txt.addEventListener("enter", formListener);
userpass_txt.addEventListener("enter", formListener);

// Seleccion por defecto en el formulario.
Selection.setFocus(usernick_txt);

/* Definiendo la funcion checkForm , el cual es responsable de chequear los campos referidos usando LoadVars 
para enviar la informacion del formulario hacia el servidor para ser validado. */
function checkForm() {
   // Asegurándonos de que el campo de usernick no esté en blanco.
   if (usernick_txt.text.length == 0) {
      // si el campo  usernick_txt  está vacío, se muestra un mensaje de error en el campo de estado= status_txt
      mensaje_txt.text = "Ingrese nick de usuario";
      // volvemos a focalizar el campo de entrada de texto para el nick.
      Selection.setFocus(usernick_txt);
      // salir de la funcion.
      return false;
   }
   /* Si el campo userpass está en banco..
      mostrar un error en el campo de estado*/
   if (userpass_txt.text.length == 0) {
      mensaje_txt.text = "Ingrese contraseña";
      Selection.setFocus(userpass_txt);
      return false;
   }
   // Limpiando el campo de mensajes de estado.
   mensaje_txt.text = "";
   
   var resultado_lv:LoadVars = new LoadVars();
   var login_lv:LoadVars = new LoadVars();
   // copia el valor de los dos campos
   login_lv.usernick = usernick_txt.text;
   login_lv.userpass = userpass_txt.text;
   /* enviamos las variables al script del servidor mediante el metodo post y recogemos los datos en la variable resultado. */
   login_lv.sendAndLoad("http://localhost/login/login.php", resultado_lv, "POST");
   // When the results are received from the server...
   resultado_lv.onLoad = function(success:Boolean) {
      // Si Flash esta listo para enviar y recibir las variables desde el servidor.....
      if (success) {
         // Si el servidor retorna el valor de login igual a 1
         if (validlogin=="autorizado") {
            /* se mostrará un mensaje  exitoso.*/
            mensaje_txt.text = "autorizado";
            /* en cambio si la informacion es errada, se mostrará un mensaje de error. */
         } else {
            mensaje_txt.text = "usuario o contraseña inválidos";
            // dejar habilitado al seleecion en el campo de entrada de texto.
            Selection.setFocus(usernick_txt);
            Selection.setSelection(usernick_txt.text.length);
         }
         
      } else {
         mensaje_txt.text = "Servidor ocupado";
            }
   };
   return true;
}


por si aca aún´no estoy haciendo nada con amfPHP, primero quiero salir de esta duda.

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Oct 2005 01:10 am
mejor está en limpio:

Código :



var validlogin= validlogin_txt.text.selectable=false
var usernick = usernick_txt.text;
var userpass = userpass_txt.text;

userpass_txt.password = false;

entrar_btn.clickHandler = function() {
   checkForm();
};

var formListener:Object = new Object();
formListener.enter = function(evt) {
   checkForm();
};
usernick_txt.addEventListener("enter", formListener);
userpass_txt.addEventListener("enter", formListener);

Selection.setFocus(usernick_txt);

function checkForm() {
      if (usernick_txt.text.length == 0) {
      mensaje_txt.text = "Ingrese nick de usuario";
      Selection.setFocus(usernick_txt);
      return false;
      }
      if (userpass_txt.text.length == 0) {
      mensaje_txt.text = "Ingrese contraseña";
      Selection.setFocus(userpass_txt);
      return false;
      }
   
mensaje_txt.text = "";
   
var resultado_lv:LoadVars = new LoadVars();
var login_lv:LoadVars = new LoadVars();
   
login_lv.usernick = usernick_txt.text;
login_lv.userpass = userpass_txt.text;
   
login_lv.sendAndLoad("http://localhost/login/login.php", resultado_lv, "POST");
   
resultado_lv.onLoad = function(success:Boolean) {
      
   if (success) {         
         if (validlogin=="autorizado") {            
            mensaje_txt.text = "autorizado";
               } 
               else {
            mensaje_txt.text = "usuario o contraseña inválidos";            
            Selection.setFocus(usernick_txt);
            Selection.setSelection(usernick_txt.text.length);
         }
         
      } else {
         mensaje_txt.text = "Servidor ocupado";
            }
   };
   return true;
}
[/code]

Por juce2005

100 de clabLevel



 

msie
Citar            
MensajeEscrito el 03 Nov 2005 05:18 am
bueno, ya está resuelto. ya puedo hacer el login. pero ahora quiero rescatar la variable username que utiliza éste nick; y que éste username se mantenga en las demás películas.

Por juce2005

100 de clabLevel



 

msie

 

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