Eigenes Login (Passwort,Name) überprüfen->Access
-
Hi Leute!
EIgentlich wohl ne einfach aufgabe, hab aber im Tut und bei Suche nix gefunden!
Ich will ein Login machen, mit Benutzername und Passwort!Das soll in edit (DBEdit besser?) eingegeben werden, und verglichen werden!
habe auch eine Tabelle Login in meiner Testdatenbank!
Wie kann ich die Eingaben in den Editfeldern vergleichen, und bei vorhanden sein ein Erfolg (Login erfolgreich), und bei nicht vorhanden sein enen Fehler machen?Also helft mir bitte, es drängt etwas...=/!
danke
uwh
-
Was ist daran schwer ?
Editfeld für Username, Editfeld für Passwort, ein Login Knopf. Betätigen des Login Knopfes -> in Datenbank prüfen ob eingebener User & Passwort vorhanden ist. Feddisch
-
Ja, das is klar!
Aber ich komm mit dem syntax nich hin!
Wie kann ich das nur prüfen?
Vielleicht haettest au mal nen Codefragment?....danke
UWH
-
Also ich hab mal was gemacht, und das funktionert auch beim benutzername:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form3->Table1->SetKey();
Form3->Table1->Fields->Fields[0]->AsString = Edit1->Text;
if (!Form3->Table1->GotoKey() && !Form3->Table1->GotoKey())
ShowMessage ("Nicht gefunden");
}Wenn ich es aber dür das 2te Edit und das Passwortfeld machen will gehtz nicht:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form3->Table1->SetKey();
Form3->Table1->Fields->Fields[0]->AsString = Edit1->Text;
Form3->Tbale1->Fields->Fields[1]->AsString = Edit2->Text;
if (!Form3->Table1->GotoKey() && !Form3->Table1->GotoKey())
ShowMessage ("Nicht gefunden");
}liegt sicher am Key oder irgendwas?!
vielleicht hat auch jemand eine bessere idee?danke schonma!
-
Warum nicht eine einfache SQL Abfrage ?
"SELECT * FROM benutzer WHERE benutzername='"+edusername->Text+"' AND passwort='"+edpassword->Text+"';"Dann fragst du mit Query->RecordCount ob ein Eintrag gefunden wurde.
Wenn ja, kannst du noch die Benutzerrechte auslesen.
-
ah genau sowas hab ich eigentlich auch gesucht....werd das gleich mal ausprobieren! Danke schonmal!
UWH
-
Shice kann nich denken!
Wie kann ich das select jetzt auf den Buttonklick so einbauen, das wenn er was gefunden hat zur näachsten form geht, und wenn nich das er eine fehlermeldung brigt?!
also
if (blalalalal)
Formbla->Show();
else
ShowMessage ("Bla")also was kommt für das blallalal rein?
Weiß es echt nicht, danke für eure hilfe....UWH!
-
Gut konnte wieder denken, hat sich erledigt...
habs so:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Form3->Query1->Close();
Form3->Query1->SQL->Clear();
Form3->Query1->SQL->Add("select * from Login where LName like '" +Edit1->Text+ "' AND Passwort = '"+Edit2->Text+ "';");
Form3->Query1->Open();if (!Form3->Query1->Eof)
ShowMessage ("Gut->Login");
else
ShowMessage ("schlecht->kein Zutritt");
}od geht es noch einfacher od besser?
UWH
-
Hi,
kleine Frage:
Was passiert wenn du in Edit1 z.B. das hier eingibst (oder so ähnlich):bla'; DROP TABLE Login; ---MfG
Alexander Sulfrian
-
da sagt er das einloggen nicht geht ;)!
wieso?
was sollte denn passieren?!
-
Alexander,
Alexander Sulfrian schrieb:
Was passiert wenn du in Edit1 z.B. das hier eingibst (oder so ähnlich):
bla'; DROP TABLE Login; ---also das war jetzt ein bischen fies

Zum Glück scheint es nicht funktioniert zu haben - vermutlich Tippfehler.@Unwissenheit: Schau doch mal hier rein.
-
ah danke leute, ist ja interessant...:/
Muss ich mal sicher machen mein Login...heheWobei,die leute die das Proggi benutzen werden, wissen nich mal das man mit der tastatur -- machen kann ;)!
-
Ausserdem solltest Du die Tabelle mit den Benutzerdaten mit einem Kennwort vesehen, ansonsten kann man die Tabelle, z.B. mit Access einfach öffnen und alle Kennwöter auslesen...