Oliver198 Geschrieben 29. August 2002 Geschrieben 29. August 2002 Hallo Leute, ich hab da ein Problem mit einer Paßwortabfrage. Ich hab eine ASP-Seite erstellt, in der ich eine Paßwortabfrage erstellen möchte die Benutzername und Paßwort mit einer Access-Datenbank vergleicht. Die Eingabe des Benutzernamens und des Passworts auf der ASP-Seite habe ich mit einem Textfeld gelöst, deren Werte ich mit "Request" gelöst. Die Datenbank lese ich mich hilfe ODBC-Datenbankverbindung ein. Das Einlesen der Datenbank, und das Einlesen der Eingabe in den Textfelder funktioniert auch schon, nur nicht das er die Eingabe mit der Datenbank vergleicht!! Es währe nett wenn mir jemand einen Beispiel-script oder ähnliches geben könnte. Danke im Vorraus und bis Bald Oliver198:D Zitieren
Panther Geschrieben 29. August 2002 Geschrieben 29. August 2002 Also ich mache es so : zuerst wird eine Seite aufgerufen wo der benutzer seinene Namen und ein PW eingibt, dann wird eine zeite Seite aufgerufen die Checkt ob die Daten richtig sind, und wenn die richtig sind geht es zur eigentlichen Seite: Login Seite : Response.Write"<font face='Arial,Helvetica' color='blue'>" Response.Write"<div align='center'>" Response.Write"<form name='Anmeldung' action='login_check.asp' method='post'>" Response.Write"<table border='0' cellspacing='5px' cellpadding='5px'>" Response.Write"<Tr>" Response.Write"<th colspan='2'>" Response.Write"<font size='6'>Administrations-Anmeldung</font>" Response.Write"</th>" Response.Write"</tr>" Response.Write "<tr>" Response.Write "<td colspan='2'>" Response.Write "<hr color='blue'>" Response.Write "</td>" Response.Write "</tr>" Response.Write"<tr>" Response.Write"<td>" Response.Write"Benutzer :" Response.Write"</td>" Response.Write"<td>" Response.Write"<input name='Benutzer' align='center' type='text' size='30' value=''>" Response.Write"</td>" Response.Write"</tr>" Response.Write"<tr>" Response.Write"<td>" Response.Write"Passwort :" Response.Write"</td>" Response.Write"<td>" Response.Write"<input name='Passwort' align='center' type='password' size='30' value=''>" Response.Write"</td>" Response.Write"</tr>" Response.Write "<tr>" Response.Write "<td colspan='2'>" Response.Write "<hr color='blue'>" Response.Write "</td>" Response.Write "</tr>" Response.Write"<Tr>" Response.Write"<td>" Response.Write" " Response.Write"</td>" Response.Write"<td align='left'>" Response.Write"<input name='Anmelden' align='center' type='submit' value='Anmelden'>" Response.Write"</td>" Response.Write"</tr>" Response.Write"</table>" Response.Write"</form>" Response.Write"</div>" Passwort Test : <% dim benutzer dim passwort Benutzer = LCase(TRIM(Request("Benutzer"))) Passwort = TRIM(Request("Passwort")) 'Datenverbindung zum DB Server aufbauen SQLServerConnection = "driver={SQL Server};server=IP;uid=USER;pwd=PW;database=DB" Set db = Server.CreateObject("ADODB.Connection") 'Set Daten = Server.CreateObject("ADODB.Recordset") db.open SQLServerConnection 'Response.Write "Benutzer : "& Benutzer &"<br>" 'Response.Write "Passwort : "& Passwort & "<br>" SQLQuery ="SELECT * FROM Logins WHERE login='"& Benutzer &"'" Set User = db.Execute (SQLQuery) if not User.eof then if (Benutzer = LCase(User.Fields("login"))) then if (Passwort = User.Fields("passwort")) then Session("Benutzername") = Benutzer Session.Timeout = 5 'Response.Write ("ID der Session :" & Session.SessionID) Session("BenutzerSessionID") = Session.SessionID 'Response.Write lsSessionID Response.Redirect ("admin.asp") else Response.Write "<div align='center'>" Response.Write "<font face='Arial,Helvetica' color='red'>" Response.Write "<br><br><br>" Response.Write"<h2>Das war leider das falsche Passwort !!!</h2>" Response.Write"</div>" end if end if else Response.Write "<div align='center'>" Response.Write "<font face='Arial,Helvetica' color='red'>" Response.Write "<br><br><br>" Response.Write"<h2>Diesen User gibt es leider nicht !!!</h2>" Response.Write"</div>" end if %> hierbei musst du nur drauf achten das eine Verbindung zu einem SQL Server aufgemacht wird, das musst du natürlich abändern (steht in jedem ASP Handbuch) Und hierbei wird auch noch Geprüft wie lange der User nichts mehr gemacht hat und wenn er länger als 60 Minuten keine Seite mehr aufgerufen hat muss er sich neu anmelden .... Zitieren
Oliver198 Geschrieben 30. August 2002 Autor Geschrieben 30. August 2002 Danke für deine Hilfe Panther, ich habs zwar trotzdem mit der Access-Datenbank gemacht, aber dein Script hat mir den entscheidenden Tipp gegeben!!!!! Und ich habs dann fertiggebracht das es funktioniert!!:marine Tschau Oliver198;) Zitieren
Honkytonk Geschrieben 2. September 2002 Geschrieben 2. September 2002 Kleine stilistische Anmerkung: Ihr wisst schon, daß ihr dies Response.Write"<font face='Arial,Helvetica' color='blue'>" Response.Write"<div align='center'>" Response.Write"<form name='Anmeldung' action='login_check.asp' method='post'>" Response.Write"<table border='0' cellspacing='5px' cellpadding='5px'>" Response.Write"<Tr>" Response.Write"<th colspan='2'>" Response.Write"<font size='6'>Administrations-Anmeldung</font>" Response.Write"</th>" Response.Write"</tr>" Response.Write "<tr>" Response.Write "<td colspan='2'>" Response.Write "<hr color='blue'>" Response.Write "</td>" Response.Write "</tr>" Response.Write"<tr>" Response.Write"<td>" Response.Write"Benutzer :" Response.Write"</td>" Response.Write"<td>" Response.Write"<input name='Benutzer' align='center' type='text' size='30' value=''>" Response.Write"</td>" Response.Write"</tr>" Response.Write"<tr>" Response.Write"<td>" Response.Write"Passwort :" Response.Write"</td>" Response.Write"<td>" Response.Write"<input name='Passwort' align='center' type='password' size='30' value=''>" Response.Write"</td>" Response.Write"</tr>" Response.Write "<tr>" Response.Write "<td colspan='2'>" Response.Write "<hr color='blue'>" Response.Write "</td>" Response.Write "</tr>" Response.Write"<Tr>" Response.Write"<td>" Response.Write" " Response.Write"</td>" Response.Write"<td align='left'>" Response.Write"<input name='Anmelden' align='center' type='submit' value='Anmelden'>" Response.Write"</td>" Response.Write"</tr>" Response.Write"</table>" Response.Write"</form>" Response.Write"</div>" auch mit Code-Unterbrechern ("<%" , "%>")schreiben könnt, oder? :confused: Das macht die Sache wesentlich einfacher, keine einfachen Hochkommas anstatt typographischen, kein ewiges response.write mehr. Zitieren
Panther Geschrieben 2. September 2002 Geschrieben 2. September 2002 Ja weiss ich aber das m,acht die Sache nicht immer einfacher, du kannst solche anweisungen immer nur direkt nach den <% mit nem = setzen , oder halt den Quelltext andauernd unterbrechen und pures HTML einbauen, nur geht da manchmal die Übersicht flöten. Finde ich jedenfalls. Greetz Panther Zitieren
Honkytonk Geschrieben 2. September 2002 Geschrieben 2. September 2002 Original geschrieben von Panther Ja weiss ich aber das m,acht die Sache nicht immer einfacher, du kannst solche anweisungen immer nur direkt nach den <% mit nem = setzen , oder halt den Quelltext andauernd unterbrechen und pures HTML einbauen, nur geht da manchmal die Übersicht flöten. Finde ich jedenfalls. Greetz Panther Schon, aber auch den kannst du der Übersichthalber einrücken. Außerdem machst du auch nichts anderes wenn du HTML aus String ausgeben lässt. Findest du die elendige Tipperei nicht lästig? Zitieren
Panther Geschrieben 3. September 2002 Geschrieben 3. September 2002 jain, ich fand es lästiger irgendein Prob in der Darstellung zu suchen und erstmal rausbekommen zu müssen wo sich was andert, ausserdem kann man so dem HTML auch Parameter übergeben (ist ja nur ein ausschnitt und nicht die komplette Seite ). Zitieren
Honkytonk Geschrieben 3. September 2002 Geschrieben 3. September 2002 Naja, ist halt ja ne Sache des eigenen Stils... Hab mir mal deinen Code oben angeschaut... du schreibst in der Beschreibung, daß der Timeout 60 Minuten lang ist.. wieso setzt du ihn dann auf 5? (Ich weiß, ich kann kleinlich sein ) Zitieren
Panther Geschrieben 3. September 2002 Geschrieben 3. September 2002 war mein Fehler, das war noch das Testscript ob das mit dem Timeout so funktioniert wie ich das wollte, und da wollte ich halt keine 60 Minuten warten und habs auf 5 gestellt. Hab nicht mehr so in den Code geschaut und geschrieben was es bei der endgültigen Fassung hat ....... Keine Sorge bist nicht kleinlich, das könnte ja sonst zu verwirrungen führen. Greetz Panther 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.