webForumDet fria alternativet

Sessions

ASPur ASP

6 svar · 298 visningar · startad av Philosofik

Medlem sedan aug. 200324 inlägg
Frågan#1

Hej!

Jag gör en community och är klar med inloggnings scriptet men INGA sessions funkar! Någon som har varit med om liknande? Att Sessionsen inte funkar.

Medlem sedan nov. 20017 144 inlägg
#2

Bifoga gärna kod.
Kontrollera att din webläsare tillåter cookies.

Medlem sedan aug. 200324 inlägg
#3

Koden man kommer till när man har tryckt på logga in:

<!-- #include file="adovbs.inc" -->
<% Session.LCID = 1053

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/users.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From members"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

'----- Rensar bort sånna som inte loggat ut korrekt.. -------

Do Until RecSet.EOF

If RecSet("status") = "online" AND DateDiff("n", RecSet("datum"), Now) \> 60 Then
	RecSet("status") = "offline"
	RecSet.Update
End If

RecSet.MoveNext
Loop

RecSet.Close

'---------------- SLUT PÅ UTRENSNINGEN ------------------

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

Do Until RecSet.EOF

if lCase(RecSet("username")) = lCase(Request.Form("username")) AND lCase(RecSet("losen")) = lCase(Request.Form("losen")) Then

	If cDate(RecSet("lastpoang")) \< Date() then
	RecSet("poang") = RecSet("poang") + 1
	RecSet("lastPoang") = Now
	End If
	
	RecSet("inloggningar") = RecSet("inloggningar") + 1
	RecSet("datum") = Now
	RecSet("status") = "online"		
	RecSet.Update
	
	Session("namn") = RecSet("fnamn") & " " & RecSet("enamn")
	Session("fnamn") = RecSet("fnamn")
	Session("enamn") = RecSet("enamn")
	Session("username") = RecSet("username")
	Session("login") = "ok"
	Session("id") = RecSet("id")
	Session("status") = "online"
	Session("epost") = RecSet("epost")
	Session("poang") = RecSet("poang")
	Session("pressbild") = RecSet("pressbild")
	Session("inloggningar") = RecSet("inloggningar")

	Session.TimeOut = 60 '\<-- Kontrollera

	Response.Cookies("plasstic")("username") = recset("username")
	Response.Cookies("plasstic").Expires = "December 10, 2010"	
		
	if RecSet("admin") = "1" then
	session("admin") = "1"
	else
	session("admin") = "0"	
	end if	
			
	
	RecSet.Close
	Connect.Close
	Set RecSet = nothing
	Set Connect = nothing
	
	Response.Redirect "inloggad.asp"

End If

RecSet.MoveNext
Loop

RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Session("meddelande") = "Fel användarnamn eller lösenord!"
Response.Redirect "default.asp"
%>

Koden i inloggad.asp:

<!-- #include file="adovbs.inc" -->
<% Session.LCID = 1053
if Session("login") <> "ok" then
response.redirect("default.asp")
Session("meddelande") = "Du är inte inloggad!"
End if
%>
Här är innehållet som ska visas när man är inloggad!

Medlem sedan nov. 20017 144 inlägg
#4

1. Du har för många sessions enligt min mening(tänk över din struktur)
2. Om du använder [kod]-taggarna så blir din kod tydligare här i forumet.

Medlem sedan aug. 200324 inlägg
#5

Ja men varför funkar det inte?!?!??!?!?!

Medlem sedan juni 2003175 inlägg
#6

testa att övergå till php :P

Medlem sedan dec. 19996 721 inlägg
#7

Det var inte så konstruktivt :)

Philosofik, till att börja med kan vi rensa lite i koden, så att den blir mer effektiv, och inte så IDGs Web Studio-aktig.. ;)

<!-- #include file="adovbs.inc" -->
<% Session.LCID = 1053

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/users.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

'----- Rensar bort sånna som inte loggat ut korrekt.. -------

Addera = "UPDATE members SET status='offline' WHERE status='online' and datediff("n",datum,now())>60"

Connect.Execute Addera,,adExecuteNoRecords 

'---------------- SLUT PÅ UTRENSNINGEN ------------------

Addera="SELECT * FROM members WHERE username='" & replace(Request.Form("username"),"'","''") & "' AND losen='" & replace(Request.Form("losen"),"'","''") & "'"

RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

if not RecSet.EOF

'----En massa sessions-kod som du får lägga tillbaka (tog så mycket plats)

RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing

Response.Redirect "inloggad.asp"

else

RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Session("meddelande") = "Fel användarnamn eller lösenord!"
Response.Redirect "default.asp"

end if

%>

Börja med det, så letar vi vidare om det inte fungerar

138 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)