webForumDet fria alternativet

Sessions

6 svar · 298 visningar · startad av Philosofik

PhilosofikMedlem sedan aug. 200324 inlägg
#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.

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

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

PhilosofikMedlem 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!

Jesper TMedlem 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.

PhilosofikMedlem sedan aug. 200324 inlägg
#5

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

jigganMedlem sedan juni 2003175 inlägg
#6

testa att övergå till php :P

emissionMedlem 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

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