Alltså.. jag är lite fundersam.
Jag har en sida med inloggningsfunktion på min burk med IIS. Databasen är skapad med Access. Allt är frid och fröjd på min burk, men när jag laddar upp sidan till vår egen webserver så blir det trubbel.
Helt plötsligt går det inte att logga in! Man kan registrera sig, information läggs till i databasen, men när man försöker logga in blir man tillbakaskickad till loginsidan.
Jag tror att det är "main.asp" (sidan man skickas till efter inloggningsscriptet körts) som orsakar problem. Där kontrollerar nämligen ett annat script att användaren verkligen har behörighet till just den sidan. Man kan ju vara admin, vanlig användare etc etc.
Nån som har nån enkel lösning till detta mystiska problem?
ja du svårt att säga på rak arm var problmet ligger, möjligtvis kan det vara så att du har en response.redirect som skickar den till main.asp men om du säger att när du kör det lokalt så fungerar det perfekt men när du laddar upp det så strular det, så kan det möjligtvis vara någon sökväg som inte pekar rätt
Har stirrat på skiten ett tag nu... jag visar filerna istället så ni fattar, och sen kanske ni kan hjälpa mig :)
Detta är _do_login.asp som körs när man försöker logga in. _db_vars.asp innehåller sökvägen till databasen.
<% @Language = VBScript LCID = 1053 %>
<% Option Explicit %>
<% Response.Buffer = True %>
<% Session.TimeOut = 10 %>
<% Session.LCID = 1053 %>
<!-- #include file="_db_vars.asp" -->
<%
Dim blnCheck, strUsername, strPassword
blnCheck = False
strUsername = Trim(Request.Form("Username"))
strPassword = Trim(Request.Form("Password"))
Set objConn = CreateObject("ADODB.Connection")
objConn.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strDBSRC)
Set objRecSet = CreateObject("ADODB.RecordSet")
strSQL = "SELECT Username, [Password], Access, NumberOfLogins, LastLogin FROM Users WHERE Username='" & strUsername & "' AND Password='" & strPassword & "'"
objRecSet.Open strSQL, objConn, 3, 3
If Not objRecSet.EOF Then
objRecSet("NumberOfLogins") = objRecSet("NumberOfLogins") + 1
objRecSet("LastLogin") = Now
Session("TimeOfLogin") = Now
Session("Username") = objRecSet("Username")
Session("Access") = objRecSet("Access")
objRecSet.Update
objRecSet.Close
Set objRecSet = Nothing
objConn.Close
Set objConn = Nothing
Response.Redirect("main.asp")
Else
objRecSet.Close
Set objRecSet = Nothing
objConn.Close
Set objConn = Nothing
Response.Redirect("login.asp")
End If
%>
Detta är main.asp som man skickas till efter man loggat in. _stats.asp skriver ut lite statistik, bör inte va den som krånglar.
Function IDCheck(RequiredAccess)
dim url
url = "login.asp"
If Session("Username") = "" Or Session("Access") < RequiredAccess Then
Response.Redirect(url)
End If
End Function
Jag har pulat lite.. och det verkar som om _do_login.asp inte skapar några session-variabler, fastän den borde det. Jag tog nämligen bort behörighet-kontrollen och skrev ut alla sådana som borde skapats, men inga av dom gjorde det.
Men jag fattar inte varför de inte skapas och varför det funkar på min egen dator, men inte på servern..
Någon?
292 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25