Cristalab

Tutorial de Login en Flash con SharedObject

Por: eldervaz
15 de Octubre del 2005
5128 de clabLevel
Otros artículos de eldervaz
51,310 visitas

La idea de este tutorial NO es enseñar como hacer un login OPTIMO con conexión a una base de datos o quizás ver la forma correcta de validad datos.

Muchos de nosotros alguna vez hemos pasado por el logueo de hotmail y/o gmail donde han visto algo parecido a esto:

hotmail
Login de Hotmail

gmail
Login de Gmail

Bien, como verán, en ambos casos hay la opción para recordar la contraseña, esto funciona con cookies y nosotros 'amantes del flash' lo haremos con el objecto SharedObject, para esto deben haber leido el tutorial de este tema.

Como ya se habrán dado cuenta, el tutorial de SharedObject tiene la idea general del presente tutorial para lo cual adaptaremos un poco con componentes de flash. Para lo cual usaremos la siguiente interface:

login
Login en Flash

Para este ejemplo, usaremos la idea de tener ya definido los usuarios (que tranquilamente podemos usar una caja de texto).

Le ponemos nombre de instancia a:

Componente Instancia
ComboBox cb
TextArea campo
Button btn
RadioButton rb1
RadioButton rb2
RadioButton rb3
GroupName radioGroup

 

y bueno, ya los detalles ustedes podrán agregar, ahora usaremos este codigo:

//en ESTE ejemplo lo omito para q se pueda LEER
campo.password=true;
//creamos una variable donde guardaremos nuestra info
var t:SharedObject = SharedObject.getLocal("user");
//agrego valores a mi comboBox
cb.addItem("seleccione", 0);
for (i=1; i<=3; i++) {
	cb.addItem("usuario: "+i, i);
}
//ahora vamos al boton
btn.onPress = function() {
	//preguntamos si esta ACTIVO el primer radioButton
	// y de ser asi, solo guarda el nombre o usuario seleccionado
	if (rb1.selected == true) {
		t.data.id = cb.selectedItem.data;
		t.data.pass = "";
		// ahora le preguntamos si es activo el 2do radionButton
		// de ser asi, graba el nombre y el password
	} else if (rb2.selected == true) {
		t.data.id = cb.selectedItem.data;
		t.data.pass = campo.text;
		//de estar seleecionado el 3er radioButton
		//limpia el contenido del SharedObject
	} else if (rb3.selected == true) {
		t.clear();
	}
	//guardamos los datos
	t.flush();
};
//al iniciar, revisamos si existe los datos y los asignamos
if (t.data.id) {
	cb.selectedIndex = t.data.id;
	campo.text = t.data.pass;
}
//RadionButton por defecto
rb2.selected = true;

Con esto logramos almacenar la información que el usuario desee, al mismo estilo de los ejemplos arriba mencionados

Bueno aqui les dejo el FLA, espero que les sirva.

Información adicional

Archivos del tutorial
Si tienes alguna pregunta de este tutorial; puedes hacerla aqui en los foros

Artículos Relacionados