Formulario login y proceso


([N2] gegeo) #1

Estoy liado con un formulario de login.
Tengo una tabla usuarios, con nombre y pass.
Por otro lado, tengo un formulario con 2 campos edicion, 1 para nombre y 1 para pass.
Este formulario, tiene dos variables locales, una el nombre del edit 1, y otra el pass del edit 2.

¿como llevo estas variables al proceso de login para su comprobacion?
¿debo utilizar variables globales?

Estoy un poco atascado con este tema. :(

Gracias, saludos


([N4] innovadb) #2

Creo que lo haces al revés, en vez de un formulario que le pasa los datos a un proceso, por que no haces un proceso que dispara el formulario con un manejador, recoje el valor de las variables y sigue haciendo lo que necesites para el login.

De esta forma incluso puedes llamar varias veces al formulario si el login no es correcto.

Un saludo


([N2] gegeo) #3

Pues la verdad que no lo habia pensado asi.

Lo probare y os digo algo.

Gracias ;)


([N1] Pepeto) #4

Otro punto de vista,

Porque no dejas el planteamiento como lo tenias y cambias el proceso de comprobacion del Login, por una funcion y puedes usar directamente las variables locales como parametros de la funcion.

un saludo
Jose Luis
http://ascsl.net


([N1] Pepeto) #5

Añado, si el login no es correcto, puedes devolver el foco al Edit del usuario o del Password, tambien, sin necesidad de cerrar el formulario.

un saludo
Jose Luis


([N1] Giuseppe::Komenco) #6

Un saludo.

EDITADO: Sobra un pantallazo que he puesto por error, pero no puedo eliminarlo.

[attachment=16405,1351] [attachment=16405,1353]


([N2] gegeo) #7

Bueno, gracias a todos por las opciones.

Al final, o por lo menos de momento, lo he dejado como estaba:

Formulario de login, comprobacion por evento.

Estaba ciego cargando el proceso con las variables del formulario, cuando lo tenia que hacer por evento. (gracias Giuseppe por iluminarme ;) )

Si lo queremos hacer por proceso, debemos hacerlo como indica InnovaDB, con manejadores de objeto. (gracias InnovaDB ;) )

Pepeto, gracias a ti tambien ;), y como lo he dejado como estaba, probare con una funcion, aunque de momento, no lo he probado
Cuando tenga un rato y lo pruebe, actualizare el hilo. El foco lo devuelvo si me da error, despues del mensaje, con la instruccion Interfaz: Establecer foco (EDIT).

Gracias


([N1] Giuseppe::Komenco) #8

Algo así?

[attachment=16407,1354]


([N2] gegeo) #9

No, en lugar de dar formato al CONTROL erroneo, simplemente borro el contenido y establezco el foco en el que ha fallado.

Tambien controlo con otra variable el numero de intentos, para (si existe el usuario) bloquearlo.

Gracias de todas formas, en cuanto lo pase a limpio, saco un pantallazo y lo subo. (a ver si algun dia añaden la impresion de objetos en vDevelop, en 6.x se podia imprimir todo, y no veas lo util que es)

Un saludo


([N2] Daniel) #10

Giussepe. En tu ejemplo de evento para validar usuario. PASS es una variable local? Login es una variable local? EL usuario y contraseña ingresados en el formulario de login estan vinculados a estas variables? (Contenido).
Adonde controla que el usuario se encuentra en la lista de usuarios disponibles?
El comando Interfaz/Aceptar no tendria que estar dentro del flujo verdadero del if? En el else luego no debería de poner el foco en el dato erroneo dentro del formulario de login, antes de finalizar el proceso?