![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Benutzer Login funktioniert nicht
Hey Ihr!
Hab folgendes Problem: Ich hab ein Benutzer Login geschrieben welches einen Admin und normale Benutzer unterscheidet. Der Admin ist nicht in meiner Tabelle gespeichert nur die Benutzer. Nur der Admin soll Benutzer hinzufügen und löschen können. Geb ich allerdings bei der Benutzer und Passwortabfrage einen Benuzter einen der vorhanden ist, ich aber ein falsches Passwort eingebe, funktioniert der Anmeldevorgang trotzdem. Der Grund ist das sich das DBEdit Feld von alleine verändern lässt und genau das möchte ich verhindern. Aber wie?? Thx für euere cmts Lill Jens :coder2: |
Re: Benutzer Login funktioniert nicht
Um dir zu sagen, was du falsch machst, sollten wird deinen Code kennen.
|
Re: Benutzer Login funktioniert nicht
Hallo,
nimm auf jeden Fall nen normalen TEdit, dann hast du ein Problem weniger. Heiko |
Re: Benutzer Login funktioniert nicht
Zitat:
Bei der Anmeldung für den Admin funktioniert das ganze ja aber wie mach ich es dann wenn ich auf die Tabelle zugreif? Hier mein Code mit normalen TEdit feldern
Delphi-Quellcode:
procedure TForm2.BitBtn1Click(Sender: TObject);
begin if Edit1.Text = 'Admin' then begin if Edit2.Text = 'Admin' then begin ShowMessage('Anmeldung als Admin erfolgreich'); Login.Form2.Hide; //Show Admin Menu end; end else if Table1.FieldByName('Benutzername').AsString = Edit1.Text then begin if Table1.FieldByName('Kennwort').AsString = Edit2.Text then begin ShowMessage('Anmeldung als Benutzer erfolgreich'); //Show Benutzermenu Login.Form2.Hide; end; end; end; |
Re: Benutzer Login funktioniert nicht
Hallo,
für sowas nehme ich normalerweise ne Query, weil die einfacher handhabbar ist. Mit TTable sieht es etwa so aus.
Delphi-Quellcode:
function TForm1.LoginOK(const theUserName, thePassWord: String): Boolean;
begin Result:= False; with Table1 do begin // IndexFieldName:= 'BenutzerName'; //würde wohl auch gehen IndexName:= 'idx_TableLogin_Benutzername'; Index auf Benutzername muss existieren SetKey; FieldByName('BenutzerName').AsString:= theUserName'; if GotoKey then begin Result:= FieldByName('Passwort').AsString=thePassWord; end; end; end;
Delphi-Quellcode:
ohne Index und TTable ist es etwas aufwendiger (full table scan)
function TForm1.LoginOK(const theUserName, thePassWord: String): Boolean; var sUserName : String; sPassWord : String; begin Result:= False; with Table1 do begin First; while not EOF do begin sUserName:= FieldByName('BenutzerName').AsString; sPassWord:= FieldByName('Passwort').AsString; if (sUserName=theUserName) and (sPassWord=thePassWord) then begin Result:= True; Exit; end; Next; end; end; end; Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz