Skickar du med användarnamn & lösenord via sessioner? Som jag kan se det beror felet på att Request.form("username") och password inte innehåller något värde. Om du kör en logincheck så är sessioner att rekomendera. Det verkar som att du kör rutinen med Request.Form
Frågan#1
Jag har gjort en sida med login mm.
På sidan finns en meny(hittat färdigt script). Jag har plockat bort lite kod eftersom det är så mkt.
Själva prolemet är att när jag klickar på en menylänk laddar den om sidan men då får jag att det är fel användarnamn.
Är det loginscriptet som är dåligt eller kan man ändra på något i menyn eller lägga det på något annat sätt.
Just nu ligger menyn på sidan via en #include.
Tack på förhand
<% IF Request.Querystring("link") = "fakta" THEN %>
<%
fakta = REPLACE(Request.Servervariables("QUERY_STRING"),"link=fakta","link=fakta")
telefoner = REPLACE(Request.Servervariables("QUERY_STRING"),"link=fakta","link=telefoner")
tjanster = REPLACE(Request.Servervariables("QUERY_STRING"),"link=fakta","link=tjanster")
ovrigt = REPLACE(Request.Servervariables("QUERY_STRING"),"link=fakta","link=ovrigt")
%>
<%ELSE%>
<% IF Request.Querystring("link") = "telefoner" THEN %>
<%
fakta = REPLACE(Request.Servervariables("QUERY_STRING"),"link=telefoner","link=fakta")
telefoner = REPLACE(Request.Servervariables("QUERY_STRING"),"link=telefoner","link=telefoner")
tjanster = REPLACE(Request.Servervariables("QUERY_STRING"),"link=telefoner","link=tjanster")
ovrigt = REPLACE(Request.Servervariables("QUERY_STRING"),"link=telefoner","link=ovrigt")
%>
<%ELSE%>
<%
fakta = "link=fakta&" & Request.Servervariables("QUERY_STRING")
telefoner = "link=telefoner&" & Request.Servervariables("QUERY_STRING")
tjanster = "link=tjanster&" & Request.Servervariables("QUERY_STRING")
ovrigt = "link=ovrigt&" & Request.Servervariables("QUERY_STRING")
%>
<%END IF%>
<%END IF%>
<%END IF%>
<%END IF%>
<% IF Request.Querystring("link") = "fakta" THEN %>
<A HREF="<%=request.servervariables("URL")%>?<%=request.servervariables("QUERY_STRING")%>"><B>Fakta</B></A><BR>
<% ELSE %>
<% IF Request.Servervariables("QUERY_STRING") = "" THEN %>
<A HREF="<%=request.servervariables("URL")%>?link=fakta"><B>Fakta</B></A><BR>
<% ELSE %>
<A HREF="<%=request.servervariables("URL")%>?<%=fakta%>"><B>Fakta</B></A><BR>
<% END IF %>
<% END IF %>
<% IF Request.Querystring("link") = "fakta" THEN %>
- <A HREF="link3.asp" target="_top">Nyheter</A><BR>
- <A HREF="link2.asp" target="_top">Bildarkivet</A><BR>
- <A HREF="link3.asp" target="_top">Operatörer</A><BR>
- <A HREF="link3.asp" target="_top">Priser</A><BR>
- <A HREF="link3.asp" target="_top">Strålning</A><BR>
- <A HREF="link3.asp" target="_top">WAP</A><BR>
<% END IF %>
<% IF Request.Querystring("link") = "telefoner" THEN %>
<A HREF="<%=request.servervariables("URL")%>?<%=request.servervariables("QUERY_STRING")%>"><B>Telefoner</B></A><BR>
<% ELSE %>
<% IF Request.Servervariables("QUERY_STRING") = "" THEN %>
<A HREF="<%=request.servervariables("URL")%>?link=telefoner"><B>Telefoner</B></A><BR>
<% ELSE %>
<A HREF="<%=request.servervariables("URL")%>?<%=telefoner%>"><B>Telefoner</B></A><BR>
<% END IF %>
<% END IF %>
<% IF Request.Querystring("link") = "telefoner" THEN %>
- <A HREF="link.asp" target="_top">Hetast just nu</A><BR>
- <A HREF="link2.asp" target="_top">Nostalgi tripp</A><BR>
- <A HREF="link3.asp" target="_top">Telefonarkivet</A><BR>
<% END IF %>
Sälva koden på sidan ser ut som följande:
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/dbse.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
%>
<% '==================================================== %>
<% ' Kontrollera användarnamn, lösenord och behörighet %>
<% '==================================================== %>
<% Visa = "SELECT * FROM tblAccess"
RecSet.Open Visa, Connect, 3, 3
X = FALSE
Do Until X = TRUE OR RecSet.EOF
If RecSet("Username") = Request.Form("Username") Then
X = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
If X = TRUE Then
Y = FALSE
Do Until Y = TRUE OR RecSet.EOF
If RecSet("Password") = Request.Form("password") Then
Y = TRUE
Exit Do
End If
RecSet.MoveNext
Loop
End If
If X = FALSE Then
Response.Write "Du har anget ett felaktigt användarnamn!"
ElseIf Y = FALSE Then
Response.Write "Du har anget ett felaktigt lösenord!"
End If
If X = TRUE AND Y = TRUE Then
Session("username") = Request.Form("username")
Session("password") = Request.Form("password") %>
<% '==================================================== %>
<% ' Script för inloggade med A-access %>
<% '==================================================== %>
<% If RecSet("Access") = "A" Then
Session("access") = "A" %>
<!-- MENY START ---------------------------------------------------->
<!-- #include virtual="inc/meny-admin.asp" -->
<!-- MENY SLUT ----------------------------------------------------->
<% End If %>
<% '==================================================== %>
<% ' Script för inloggade med D-access %>
<% '==================================================== %>
<% If RecSet("Access") = "D" Then
Session("access") = "D" %>
<% Response.Redirect "d-normal.asp" %>
<% '=Session("Password") %>
<% '=Session("Username") %>
Du är nu inloggad med D-access!
</font>
</font>
<% Else %><% End If
End If
RecSet.Close
Connect.Close %>
