Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Benutzer Login funktioniert nicht (https://www.delphipraxis.net/98437-benutzer-login-funktioniert-nicht.html)

Lill Jens 27. Aug 2007 15:10

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:

mkinzler 27. Aug 2007 15:32

Re: Benutzer Login funktioniert nicht
 
Um dir zu sagen, was du falsch machst, sollten wird deinen Code kennen.

hoika 27. Aug 2007 15:34

Re: Benutzer Login funktioniert nicht
 
Hallo,

nimm auf jeden Fall nen normalen TEdit,
dann hast du ein Problem weniger.


Heiko

Lill Jens 27. Aug 2007 15:43

Re: Benutzer Login funktioniert nicht
 
Zitat:

Zitat von hoika
Hallo,

nimm auf jeden Fall nen normalen TEdit,
dann hast du ein Problem weniger.


Heiko


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;

hoika 27. Aug 2007 16:59

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