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.
6 svar · 298 visningar · startad av Philosofik
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.
Bifoga gärna kod.
Kontrollera att din webläsare tillåter cookies.
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!
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.
Ja men varför funkar det inte?!?!??!?!?!
testa att övergå till php :P
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