MastaKilla Geschrieben 14. Juni 2007 Geschrieben 14. Juni 2007 Hallo, habe in der Schule folgende Aufgaben bekommen: 1. Aufgabe Bilden sie einen Anmeldedialog in VBScript ab, bei dem der Benutzer seinen Benutzernamen und sein Passwort eingibt. Ist dieser Benutzer in der Datenbank Benutzerverwaltung und der Tabelle Benutzer vorhanden, so begrüßen Sie ihn mit Namen und geben z.B. aus: „Herzlich willkommen Anja Anders“. Ist er nicht vorhanden, so geben sie aus: „Anmeldung fehlgeschlagen“. Verwenden sie das SQL-Statement: SELECT * FROM benutzer. 2. Aufgabe In Datenbanken werden Passwörter häufig nicht im Klartext, sondern als MD5 Hash gespeichert. Wie müssen Ihre Skripte aus 1 und 2 angepasst werden, damit wir auch mit so gespeicherten Passwörtern arbeiten können. So nun meine meine Lösung zur ersten Aufgabe: strConnection="driver=MySQL ODBC 3.51 Driver;server=localhost;uid=root;pwd=;database=Benutzerverwaltung;option=NUM" bn=Inputbox ("Geben Sie den Benutzernamen ein!") pw=Inputbox ("Geben Sie das Passwort ein!") ausgabe="Anmeldung fehlgeschlagen" sql="SELECT * FROM benutzer;" set adoConnection=CreateObject("ADODB.Connection") adoConnection.open strConnection Set rs=adoConnection.execute (sql) set Benutzername = rs.fields.item("Benutzername") set Passwort = rs.fields.item("Passwort") set Name = rs.fields.item("Nachname") set Vorname = rs.fields.item("Vorname") Do While Not rs.eof IF bn=Benutzername AND pw=Passwort THEN ausgabe= "Herzlich willkommen " & Vorname & " " & Name END IF rs.moveNext Loop MsgBox ausgabe rs.close Das müsste soweit alles stimmen.. (Verbesserungsvorschläge sind natürlich gerne erwünscht) Mit der zweiten Aufgabe komme ich allerdings nicht so klar. Hat da vielleicht einer Ahnung von oder vielleicht sogar einen Lösungsansatz oder -vorschlag? Wäre super!! Gruß Marcel Zitieren
MastaKilla Geschrieben 14. Juni 2007 Autor Geschrieben 14. Juni 2007 Wäre nett, wenn ihr mal drüberschauen könntent und mir sagen könntet ob das mit den Kommentaren alles so übereinstimmt. Das VB Skript sollte so gestaltet sein, dass zum jeder Befehlszeile ein erklärender Kommentar gehört!! 'Verbindungsparameter für den Datenbankzugriff auf den MySQL Server 'Verwendet wird der ODBC 3.51 Treiber; Ip des Servers: 10.17.171.200, Benutzername: root, Passwort: Kein Passwort, Datenbank: Benutzerverwaltung strConnection="driver=MySQL ODBC 3.51 Driver;server=localhost;uid=root;pwd=;database=Benutzerverwaltung;option=NUM" bn=Inputbox ("Geben Sie den Benutzernamen ein!") 'Variable für das Eingabefeld des Benutzernamens pw=Inputbox ("Geben Sie das Passwort ein!") 'Variable für das Eingabefeld des Passworts ausgabe="Anmeldung fehlgeschlagen" 'Variable für die Ausgabe bei fehlgeschlagener Anmeldung sql="SELECT * FROM benutzer;" 'Die MySQL Abfrage (* = Alle Spalten werden ausgegeben) set adoConnection=CreateObject("ADODB.Connection") ' Die ADODB-Verbindung wird hergestellt adoConnection.open strConnection ' Die Verbindung wird hergestellt Set rs=adoConnection.execute (sql) set Benutzername = rs.fields.item("Benutzername") ' set Passwort = rs.fields.item("Passwort") ' set Name = rs.fields.item("Nachname") ' set Vorname = rs.fields.item("Vorname") ' Do While Not rs.eof ' Durchlaufen des Recordsets IF bn=Benutzername AND pw=Passwort THEN ' ausgabe= "Herzlich willkommen " & Vorname & " " & Name 'Die Variable "ausgabe" wird bei gefundenem Benutzer und Passwort geändert END IF 'Die IF-Schleife wird beendet rs.moveNext 'Springt zum nächsten Datensatz Loop 'Zum Beenden der While-Schleife MsgBox ausgabe 'Ausgabe in einer Nachrichtenbox rs.close ' Verbindung zur Datenbank wird getrennt Wäre super, wenn ihr mir die restlichen Zeilen noch ergänzen könntet oder falls ihr Verbesserungsvorschläge habt diese ergänzen könntet.. Gruß Zitieren
robotto7831a Geschrieben 14. Juni 2007 Geschrieben 14. Juni 2007 Hallo, aus dem eingegebenen Passwort muss der MD5 Hash ermittelt werden und mit dem ausgelesenen Wert aus der DB verglichen werden. Frank PS: Ein Posting hätte auch gereicht. Zitieren
MastaKilla Geschrieben 14. Juni 2007 Autor Geschrieben 14. Juni 2007 Ich hab leider nicht so die Ahnung wie und wo ich das in mein Skript einbinden muss. Kann vielleicht jemand die fehlenden Kommentare ergänzen?? Wäre sehr sehr dankbar !! Zitieren
Amstelchen Geschrieben 19. Juni 2007 Geschrieben 19. Juni 2007 Kann vielleicht jemand die fehlenden Kommentare ergänzen?? nö. du kannst konkrete fragen stellen, aber deine schulaufgaben wird dir hier keiner machen. beweise doch initiative und versuch es selbst, poste es anschliessend und warte auf korrekturvorschläge der forumsleute. wenn du mal im berufsleben stehen solltest, wird dir auch kein anderer deine arbeit machen. im übrigen gibt es keine "IF-Schleife". belustigt, s'Amstel Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.