FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Comparar un campo de usuario y password.
Hola, estoy haciendo un formulario de validación de usuario y password, ya puedo leer la base de datos pero ¿como comparar ambos campos? y ¿como validarla si se corresponden?. Supongo que primero tengo que comparar lo que está en el Tedit con cada campo al que corresponda y si el campo1(usuario) y el campo2(password) se corresponden dentro del mismo registro el resultado es TRue y si no False. ¿como puedo hacer esto?. Muchas gracias.
__________________
"La perseverancia es el camino del éxito" |
#2
|
||||
|
||||
hola
mira a ver con esto:
espero que te pueda servir, salu23 P.D. si utilizas password encriptado, primero debes desencriptar el password y comparar
__________________
Ivan Lora http://www.arrobasoft.da.ru Valientes son aquellas personas que triunfan donde otros fracasan. Bienaventurado los que nada esperan porque jamas seran defraudados. |
#3
|
|||
|
|||
No entiendo...
Hola, te agradezco tu ayuda, pero tengo una duda, no me acaba de funcionar por esto 'TUserusuario.FieldName' que quiere decir,¿ es la tabla y el campo que quiero?, y el ¿Tuser.clave?. Gracias.
__________________
"La perseverancia es el camino del éxito" |
#4
|
|||
|
|||
Otra alternativa
Hola, vi tu problema y te sugiero que utilices un query para ver que tanto el usuario como el password corresponden a una misma persona, y si el query te arroja un valor verdadero pues ya está.
Pon estas líneas: with Query1 do begin close; sql.clear; sql.add('select * from Tabla where usuario='+chr(39)+Edit1.text+chr(39)+' and password='+chr(39)+Edit2.text+chr(39)+''); execSQL; open; if not isempty then // aquí es donde verificas si coinciden ambos datos //código else //código end; |
#5
|
||||
|
||||
Cita:
Edit1: roman Edit2: ' or '1'='1 (con todo y apóstrofes) La consulta queda así: select * from Tabla where usuario='roman' and password='' or '1'='1' Como '1' siempre es igual a '1', cualquiera que sepa mi nombre de usuario podrá entrar. Por ello es más seguro como propone @-Soft; primero buscas al usuario y luego comparas las contraseñas. Más seguro aún sería guardar la contraseña encriptada y compararla con la encriptación del password que escribe el usuario. // Saludos |
#6
|
||||
|
||||
hola
Cita:
[TUser][usuario][.][Fieldbybame], he separado por segmento para explicarte mejor. TUser ---> es el nombre de la tabla usuarios usuario--> es el nombre del campo usuario . -------> es el operador de enlace con la propiedad Fieldbyname ---> es una propiedad que identifica o declara ese campo de la tabla, asi cuando realice la consulta sabra que se esta hablando del campo usuario del dataset Tuser. pero para no complicarte mucho, ya que esto son mejoras para mis codigos, te voy a poner a lo clasico. asumiendo que usas DataModule y que este se llama DM, te explico lo siguiente:
al escribir DM. la opcion de autocompletar de delphi te trae los nombres de las tablas y/o propiedades que vas ha usar. Salu2
__________________
Ivan Lora http://www.arrobasoft.da.ru Valientes son aquellas personas que triunfan donde otros fracasan. Bienaventurado los que nada esperan porque jamas seran defraudados. |
#7
|
|||
|
|||
Me falta un dato.
Hola a todos, seguro que lo que me falta es una tonteria pero no puedo hacer la comparación, lo he intentado de todas las maneras pero no puedo, hasta el and va bien seguro. Después hice lo mismo para la contraseña que para lo del usuario y resultó pero me valida a cualquier usuario con cualquier contraseña. Les pido el último empujón. MUCHAS GRACIAS.
Código:
procedure TFrmUsuari.BitBtn1Click(Sender: TObject); begin if (ADOtable1.Locate('usuari', meUsuari.Text, []) and (ADotable1.????? = meCodi.Text))) then begin ShowMessage('Aqui debes hacer lo que tu quieras.'); end else ShowMessage('Mi#@}, este usuario no esta aqui, revise'); end;
__________________
"La perseverancia es el camino del éxito" |
#8
|
||||
|
||||
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#9
|
||||
|
||||
hola
donde vas a sustituir la MiCampo por el nombre del campo que tiene la clave en la tabla.
__________________
Ivan Lora http://www.arrobasoft.da.ru Valientes son aquellas personas que triunfan donde otros fracasan. Bienaventurado los que nada esperan porque jamas seran defraudados. |
|
|
|