Avatar billede 0ffline Nybegynder
17. februar 2003 - 21:09 Der er 3 kommentarer og
1 løsning

problem med login script

Hej

Jeg sidder med dette login script, der er lavet til mig af en ven.
Det virker tilsyneladende ganske udemærket, men hvis man trykker på loginknappen uden at skrive noget i felterne, så bliver den hængende i loginscript.asp og viser en helt blank side...

Er der en der kan hjælpe mig af med dette problem ?

/0ffline


...............................loginscript.asp ......
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("brugernavn"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="onlogged.asp"
  MM_redirectLoginFailed="default.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = Conn
  MM_rsUser.Source = "SELECT brugernavn, adgangskode"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM bruger WHERE brugernavn='" & Replace(MM_valUsername,"'","''") &"' AND adgangskode='" & Replace(Request.Form("password"),"'","''") & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And true Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>
Avatar billede eagleeye Praktikant
17. februar 2003 - 22:51 #1
Det er fordi der ikke er noget som redirecter hvis MM_valUsername er tom.:


If MM_valUsername <> "" Then
..
..
gør en masse og ved fejl
Response.Redirect(MM_redirectLoginFailed)
end if
--IKKE MERE KODE

Så det giver en tom side. Det lettest er at putte rundt på End If og  Response.Redirect(MM_redirectLoginFailed) så vil den ved fejl eller tomt brugernavn redirect til Loginfailed siden


Så disse linie:

  MM_rsUser.Close
  Response.Redirect(MM_redirectLoginFailed)
End If
%>


Laves om til:

  MM_rsUser.Close
End If
Response.Redirect(MM_redirectLoginFailed)
%>
Avatar billede 0ffline Nybegynder
17. februar 2003 - 22:59 #2
Det kan jeg godt se det rigtige i, desværre virker det ikke.
Hvis jeg ændre den, får jeg nu en fejlmelding der siger :

Response object error 'ASP 0158 : 80004005'

Missing URL

/loginscript.asp, line 37

A URL is required.
Avatar billede eagleeye Praktikant
17. februar 2003 - 23:01 #3
Så prøv at rette linien:

Response.Redirect(MM_redirectLoginFailed)

Til noget hvor der står et filnavn:

Response.Redirect("login.asp")
Avatar billede 0ffline Nybegynder
17. februar 2003 - 23:03 #4
Superb... tusinde tak for hjælpen :O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester