Andreas Steinkellner: ASP Password (Problem)

Hi Leute!

Ich hab ein kleines Problem. Ich hab ein login.asp (ADO) geschrieben, aber immer wenn ich auf "login" drücke, macht er mir wieder das login.asp auf. Ich will aber auf eine andere Seite gehen.

Quelltext:
<% @ Language=VBScript %>
<%
bValidationFailed = False
If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
  strUsername = Trim(Request.Form("txtUsername"))
  strPassword = Trim(Request.Form("txtPassword"))

Set conn = Server.CreateObject("ADODB.Connection")
  Set rs = Server.CreateObject("ADODB.Recordset")
  strPath = Server.MapPath("login.mdb")
  strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
  conn.Open strConnection
  rs.Open "select * from users where Username='" & strUsername & "' AND Password='" & strPassword & "'", conn

If not rs.EOF and not rs.BOF then
   ' beliebige Daten aus der Tabelle auslesen...
   Session("AccessGranted") = True
   rs.Close
   conn.Close
   Response.Redirect "feedback.htm"
   Response.End
  End if

Response.AppendToLog " Logon failed: " & strUsername & " " & strPassword
  bValidationFailed = True
End If
%>

Könnt ihr mir helfen?
Grüße, Andi

  1. Hi Leute!

    Ich hab ein kleines Problem. Ich hab ein login.asp (ADO) geschrieben, aber immer wenn ich auf "login" drücke, macht er mir wieder das login.asp auf. Ich will aber auf eine andere Seite gehen.

    Quelltext:
    <% @ Language=VBScript %>
    <%
    bValidationFailed = False
    If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
      strUsername = Trim(Request.Form("txtUsername"))
      strPassword = Trim(Request.Form("txtPassword"))

    Set conn = Server.CreateObject("ADODB.Connection")
      Set rs = Server.CreateObject("ADODB.Recordset")
      strPath = Server.MapPath("login.mdb")
      strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
      conn.Open strConnection
      rs.Open "select * from users where Username='" & strUsername & "' AND Password='" & strPassword & "'", conn

    If not rs.EOF and not rs.BOF then
       ' beliebige Daten aus der Tabelle auslesen...
       Session("AccessGranted") = True
       rs.Close
       conn.Close
       Response.Redirect "feedback.htm"
       Response.End
      End if

    Response.AppendToLog " Logon failed: " & strUsername & " " & strPassword
      bValidationFailed = True
    End If
    %>

    hi

    ich denk du hast einfach im form-tag ein falsches action-attribut.
    schau dort mal nach....u.U. ist auch gar keins gesetzt

    schöne, cu
      capior

    Könnt ihr mir helfen?
    Grüße, Andi

    1. Hi Capior,

      wenn ich in form-tag ein action-attribut auf "feedback.htm" setze,
      kommt folgende Fehlermeldung wenn ich auf login klicke:

      HTTP Fehler 405
      405 Methode nicht erlaubt

      Die in der Anforderungszeile angegebene Methode ist für die durch die Anforderung bezeichnete Ressource nicht erlaubt. Vergewissern Sie sich bitte, dass Sie den richtigen MIME-Typ für die angeforderte Ressource eingestellt haben.

      Setzen Sie sich bitte mit der Verwaltung des Webservers in Verbindung, wenn das Problem fortbesteht.

      grüße, Andi

      1. Hi Capior,

        wenn ich in form-tag ein action-attribut auf "feedback.htm" setze,
        kommt folgende Fehlermeldung wenn ich auf login klicke:

        HTTP Fehler 405
        405 Methode nicht erlaubt

        Die in der Anforderungszeile angegebene Methode ist für die durch die Anforderung bezeichnete Ressource nicht erlaubt. Vergewissern Sie sich bitte, dass Sie den richtigen MIME-Typ für die angeforderte Ressource eingestellt haben.

        Setzen Sie sich bitte mit der Verwaltung des Webservers in Verbindung, wenn das Problem fortbesteht.

        hi

        also ich würds so machen:
        du hast ne seite....login.asp.
        auf der hast du das formular, mit BN und PW.
        weiter hast du auf dieser seite ein form-tag mit action="loginin.asp"

        bei der seite loginin.asp machst du dann die abfrage, ob die daten auch stimmen....falls ja, leitest du auf feedback.asp weiter, wenn nicht, halt wieder zurück.

        wenn was von mime-type kommst, denke ich dass du noch n weiteres attribut im form-tag hast, nämlich enctype="multipart/form-data"  oder sowas ähnliches..

        dein form-tag auf login.asp sollte etwa so aussehen.
        <form name="formularname" action="loginin.asp" method="post">

        ich hoffe das reich.

        grüße, Andi

        schöne, cu
          capior

        1. hi, mein login.asp skript sieht so aus:

          <html>
          <head>
          <title>Login</title>
          </head>
          <body bgcolor=#ffffff>
          <form method="post" action="login.asp">
          <table border=0>
          <tr><td bgcolor=#CCCCCC>Username</td><td><input type=text size=40 maxlenght=40 name=Username></td></tr>
          <tr><td bgcolor=#CCCCCC>Passwort</td><td><input type=password size=40 maxlenght=40 name=Password></td></tr>
          <tr><td></td><td></td></tr>
          <tr><td><input type=submit value="login" name=login></td></tr></table></form>
          <% @ Language=VBScript %>
          <%
          bValidationFailed = False
          If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
            strUsername = Trim(Request.Form("txtUsername"))
            strPassword = Trim(Request.Form("txtPassword"))

          Set conn = Server.CreateObject("ADODB.Connection")
            Set rs = Server.CreateObject("ADODB.Recordset")
            strPath = Server.MapPath("login.mdb")
            strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
            conn.Open strConnection
            rs.Open "select * from users where Username='" & strUsername & "' AND Password='" & strPassword & "'", conn

          If not rs.EOF and not rs.BOF then
             ' beliebige Daten aus der Tabelle auslesen...
             Session("AccessGranted") = True
             rs.Close
             conn.Close
             Response.Redirect "feedback.htm"
             Response.End
            End if

          Response.AppendToLog " Logon failed: " & strUsername & " " & strPassword
            bValidationFailed = True
          End If
          %>
          </body>
          </html>

          Ich habe alles auf einer Seite.
          Muß ich das Formular separat gestallten und dann den tag-action auf login.asp verweisen?

          grüße, andi

          1. hi, mein login.asp skript sieht so aus:

            <html>
            <head>
            <title>Login</title>
            </head>
            <body bgcolor=#ffffff>
            <form method="post" action="login.asp">
            <table border=0>
            <tr><td bgcolor=#CCCCCC>Username</td><td><input type=text size=40 maxlenght=40 name=Username></td></tr>
            <tr><td bgcolor=#CCCCCC>Passwort</td><td><input type=password size=40 maxlenght=40 name=Password></td></tr>
            <tr><td></td><td></td></tr>
            <tr><td><input type=submit value="login" name=login></td></tr></table></form>
            <% @ Language=VBScript %>
            <%
            bValidationFailed = False
            If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
              strUsername = Trim(Request.Form("txtUsername"))
              strPassword = Trim(Request.Form("txtPassword"))

            Set conn = Server.CreateObject("ADODB.Connection")
              Set rs = Server.CreateObject("ADODB.Recordset")
              strPath = Server.MapPath("login.mdb")
              strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
              conn.Open strConnection
              rs.Open "select * from users where Username='" & strUsername & "' AND Password='" & strPassword & "'", conn

            If not rs.EOF and not rs.BOF then
               ' beliebige Daten aus der Tabelle auslesen...
               Session("AccessGranted") = True
               rs.Close
               conn.Close
               Response.Redirect "feedback.htm"
               Response.End
              End if

            Response.AppendToLog " Logon failed: " & strUsername & " " & strPassword
              bValidationFailed = True
            End If
            %>
            </body>
            </html>

            Ich habe alles auf einer Seite.
            Muß ich das Formular separat gestallten und dann den tag-action auf login.asp verweisen?

            nein, du musst nicht, aber es ist übersichtlich. vor allem, wenn man sich noch nciht so auskennt mit der sache.
            aber was ich gesehen habe...Request.Form("txtUsername") ist kein Objekt....in html hast du nur name="username"...entweder bei Request.Form ändern oder den namen des objektes ändern...dasselbe beim Password.

            versuch dann das ganze nochmals

            grüße, andi

            bye
              capior

            1. Hab ich so gemacht, scheint auch zu funktionieren aber er wirft mir eine Fehlermeldung aus, wenn ich es abschicke

              Antwortobjekt-Fehler 'ASP 0156 : 80004005'

              Header-Fehler

              /login.asp, Zeile 31

              Die HTTP-Header sind bereits in den Client Browser geschrieben. Änderungen am HTTP-Header müssen vorgenommen werden, bevor der Seiteninhalt geschrieben wird.

              If not rs.EOF and not rs.BOF then
                 ' beliebige Daten aus der Tabelle auslesen...
                 Session("AccessGranted") = True
                 rs.Close
                 conn.Close
                 Response.Redirect "feedback.htm"   ==== Zeile 31 ====
                 Response.End
                End if

              grüße Andi

              1. Hab ich so gemacht, scheint auch zu funktionieren aber er wirft mir eine Fehlermeldung aus, wenn ich es abschicke

                Antwortobjekt-Fehler 'ASP 0156 : 80004005'

                Header-Fehler

                /login.asp, Zeile 31

                Die HTTP-Header sind bereits in den Client Browser geschrieben. Änderungen am HTTP-Header müssen vorgenommen werden, bevor der Seiteninhalt geschrieben wird.

                das bedeutet, dass du schon z.b. "<html>" an den browser gesendet hast, bevor du den redirect machst.....machs am besten in einem separaten file...oder setzt response.buffer = false oder true...weiss gar nciht (bin mir auch nicht sicher ob das geht)

                If not rs.EOF and not rs.BOF then
                   ' beliebige Daten aus der Tabelle auslesen...
                   Session("AccessGranted") = True
                   rs.Close
                   conn.Close
                   Response.Redirect "feedback.htm"   ==== Zeile 31 ====
                   Response.End
                  End if

                grüße Andi

                schöne, cu
                  capior

                1. Es geht einfach nicht!!!

                  Mein Quelltext (neu)

                  <html>
                  <head>
                  <title>Login</title>
                  </head>
                  <body bgcolor=#ffffff>
                  <form method="post" action="login.asp">
                    <table border=0>
                  <tr><td bgcolor=#CCCCCC>Username</td><td><input type=text size=40 maxlenght=40 name=Username></td></tr>
                  <tr><td bgcolor=#CCCCCC>Passwort</td><td><input type=password size=40 maxlenght=40 name=Password></td></tr>
                  <tr><td></td><td></td></tr>
                  <tr><td><input type=submit value="login" name=login></td></tr></table></form>
                  <% @ Language=VBScript %>
                  <%
                  bValidationFailed = False
                  If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
                    strUsername = Trim(Request.Form("Username"))
                    strPassword = Trim(Request.Form("Password"))

                  Set conn = Server.CreateObject("ADODB.Connection")
                    Set rs = Server.CreateObject("ADODB.Recordset")
                    strPath = Server.MapPath("login.mdb")
                    strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
                    conn.Open strConnection
                    rs.Open "select * from users where Username='" & strUsername & "' AND Password='" & strPassword & "'", conn

                  If not rs.EOF and not rs.BOF then
                     ' beliebige Daten aus der Tabelle auslesen...
                     Session("AccessGranted") = True
                     rs.Close
                     conn.Close
                     Response.Redirect "feedback.htm"
                     Response.End
                    End if

                  Response.AppendToLog " Logon failed: " & strUsername & " " & strPassword
                    bValidationFailed = True
                  End If
                  %>
                  </body>
                  </html>

                  Wenn ich das richtige passwort eingebe, will er mir trotzdem wieder zurück aufs login.asp (nur mit dem unterschied, dass er mir eine Fehlermeldung ausgibt.)
                  Wenn ich das Falsche Passwort eingebe, ist eh alles klar, dann springt er zurück auf login.asp

                  Pleace Help Me
                  Grüße Andi

                  1. Es geht einfach nicht!!!

                    Mein Quelltext (neu)

                    <html>
                    <head>
                    <title>Login</title>
                    </head>
                    <body bgcolor=#ffffff>
                    <form method="post" action="login.asp">
                      <table border=0>
                    <tr><td bgcolor=#CCCCCC>Username</td><td><input type=text size=40 maxlenght=40 name=Username></td></tr>
                    <tr><td bgcolor=#CCCCCC>Passwort</td><td><input type=password size=40 maxlenght=40 name=Password></td></tr>
                    <tr><td></td><td></td></tr>
                    <tr><td><input type=submit value="login" name=login></td></tr></table></form>
                    <% @ Language=VBScript %>
                    <%
                    bValidationFailed = False
                    If Request.ServerVariables("CONTENT_LENGTH") > 0 Then
                      strUsername = Trim(Request.Form("Username"))
                      strPassword = Trim(Request.Form("Password"))

                    Set conn = Server.CreateObject("ADODB.Connection")
                      Set rs = Server.CreateObject("ADODB.Recordset")
                      strPath = Server.MapPath("login.mdb")
                      strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath
                      conn.Open strConnection
                      rs.Open "select * from users where Username='" & strUsername & "' AND Password='" & strPassword & "'", conn

                    If not rs.EOF and not rs.BOF then
                       ' beliebige Daten aus der Tabelle auslesen...
                       Session("AccessGranted") = True
                       rs.Close
                       conn.Close
                       Response.Redirect "feedback.htm"
                       Response.End
                      End if

                    Response.AppendToLog " Logon failed: " & strUsername & " " & strPassword
                      bValidationFailed = True
                    End If
                    %>
                    </body>
                    </html>

                    Wenn ich das richtige passwort eingebe, will er mir trotzdem wieder zurück aufs login.asp (nur mit dem unterschied, dass er mir eine Fehlermeldung ausgibt.)
                    Wenn ich das Falsche Passwort eingebe, ist eh alles klar, dann springt er zurück auf login.asp

                    sorry...ich kann nicht immer helfen...versuch dir selbst zu helfen....mach dich einfach mal n bisl dahiner! ich hab selber zu tun...
                    lies über asp, access etc. (es scheint als ob du praktisch keine ahnung hättest)

                    Pleace Help Me
                    Grüße Andi

                    schöne, cu
                      capior

                  2. Nachtrag

                    Es funktioniert. Ich habe 2 dateien erstellt, einmal das Formular
                    und 2. die asp

                    Ich bedanke mich für deine mühe,

                    Grüße, Andi

                    1. Nachtrag

                      Es funktioniert. Ich habe 2 dateien erstellt, einmal das Formular
                      und 2. die asp

                      eben..ist auch übersichtlicher...

                      Ich bedanke mich für deine mühe,

                      hehe, gute arbeit! :-)

                      Grüße, Andi

                      schöne, cu
                        capior