webForumDet fria alternativet

Uppdatera meny utan login-check

ASP

3 svar · 296 visningar · startad av zlakker

Medlem sedan apr. 2001227 inlägg
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 %>
&nbsp; - <A HREF="link3.asp" target="_top">Nyheter</A><BR>
&nbsp; - <A HREF="link2.asp" target="_top">Bildarkivet</A><BR>
&nbsp; - <A HREF="link3.asp" target="_top">Operatörer</A><BR>
&nbsp; - <A HREF="link3.asp" target="_top">Priser</A><BR>
&nbsp; - <A HREF="link3.asp" target="_top">Strålning</A><BR>
&nbsp; - <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 %>
&nbsp; - <A HREF="link.asp" target="_top">Hetast just nu</A><BR>
&nbsp; - <A HREF="link2.asp" target="_top">Nostalgi tripp</A><BR>
&nbsp; - <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 %>
Medlem sedan jan. 20023 327 inlägg
#2

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

Medlem sedan juni 200032 967 inlägg
#3

Det första du ska göra, är att byta bort IDGs hemska inloggningsscript. Det är så hemskt, så hemskt, så hemskt! Det är snudd på lika osäkert som att inte ha något överhuvudtaget.

Medlem sedan apr. 2001227 inlägg
#4

Hehe ok ska fixa ett annat isället :)

279 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
141 ms — ändringar (db)