Hej Verkar vara webbhotellet som gör att sessionerna dör ut. Kanske är det överbelastning som gör att IIS startas om. Möjilgtvis en eller flera av webbhotellets kunder som gjort programmeringsmissar som belastar webbservern för mycket. Windows Server 2003 med IIS6.. Helt plötsligt blev sessioner jättekul, eller inte. Det fungerar bra på min egen och Crystones server så där é det inga problem. Har meckat lite tidigt i morse och hade då inga problem alls med utloggningar likadant sent igår kväll. Nu runt 8-9-tiden har det börjat strula igen. session.expires har jag inte hört om innan, men det kanske fungerar. Här är lösningen. Förstår mig inte på microsoft riktigt, detta måste ju innebära att allt som kretsar kring sessions i IIS 6 kommer att strula. Jag har gjort det, efter lite pill. Hej alla som engagerat sig i problemet och inte hittat en lösning. Jag gjorde om min inloggningsrutin o den ser nu ut så här:Session problem
Jag har en inloggning som bygger på sessions, allting fungerade fint till för cirka 2 veckor sedan då man plötsligt loggas ut från sidan när den ligger på server hotellet. För att testa sidorna har jag även lagt upp dom på Crystones servrar o där fungerade dom fint o likaså lokalt på min dator. För att ytterliggare utesluta all felkodning så har jag skapat en sida med enbart en länk och sessionen men jag får upp samma fel här....jag kastat obönhörligen ut.
Någon som har en idé om vad felet beror på?Sv: Session problem
Sv:Session problem
Ligger också på en av Crystones servrar och har samma problem.
//JohannesSv: Session problem
Jag har även varit i kontakt med serverhotellet o dom har sågat mina QueryStringar för att jag inte varit konsekvent med stora o små bokstäver samt att jag inte använder global.asa. Jag har därför gått igenom alla QS och skapat ett nytt dokument utan QS men det är samma fel. Vill ju gärna ha en massa kött på benen innan jag anklagar serverhotellet.
--MVH Uffe--Sv:Session problem
Har nu pratat med server administratören och han säger att jag själv måste sätta tiden för sessionerna.
Har provat med <code>Session("LoggaIn").Expires = DateAdd("d", 1, Now())</code> men det gick inte så bra. Någon som har ett annat förslag?
<code>
<%
Dim Conn, RS, Admin, Losen, Fel, strSQL, intButikId, Butik
If Request.QueryString("Action") = "Submit" Then
Admin = Request.Form("Admin")
Losen = Request.Form("Losen")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open sConnect
Set RS = Conn.Execute("SELECT * FROM tabeller)
If Not RS.EOF Then
Session("LoggaIn") = true
'Session("LoggaIn").Expires = DateAdd("d", 1, Now())
Response.Redirect("Test.asp")
Else
Session("LoggaIn") = false
Session("strError") = "- Du är inte behörig"
Response.Redirect("TestLoggin.asp")
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
End If
If Len(Session("strError")) > 0 Then
Fel = Session("strError")
Session("strError") = ""
End If
Fel = Fel
%>
</code>
--MVH Uffe--Sv: Session problem
Annars anges session.timeout i minuter:
session.timeout = 20
20 är default. Vid varje sidbyte bör du uppdaterasessionvariabeln så sessionen inte självdör.IIS 6.0 och Sessions
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/8aeb52d0-a9dd-47f9-bec1-dc24e6da3bb1.mspx?mfr=true
Någon som har förslag på en inloggningsrutin baserad på cookies?
MVH UffeSv: IIS 6.0 och Sessions
Jag använde följande kod för att skapa en cookie, notera att den enbart sparas så länge som webbläsaren är öppen:
Response.Cookies("Kakans-namn")("namn-på-egenskap") = Värde
Notera att värdet kan skrivas in direkt via: = "Värde"
eller från en databas: = RS("falt")
För att sedan kolla om användaren är inloggad kan du använda nedanståend kod:
<%
if Response.Cookies("Kakans-namn")("namn-på-egenskap") = "" then
response.redirect("logain.asp")
end if
%>
Om du vill så kan du lägga koden som kollar om användaren är inloggad i en separat asp fil och sedan inkludera den med koden: <!--#include file="kollainlogning.asp"-->
Namnet kan du ju välja själv :)
Har du några frågar så är det bara att fråga på..
Johan A
Sv:IIS 6.0 och Sessions
För att läsa av en kaka använder man Request
<%
if Request.Cookies("Kakans-namn")("namn-på-egenskap") = "" then
response.redirect("logain.asp")
end if
%>
Sv: IIS 6.0 och Sessions -- Omgjord inloggning
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% Option Explicit %>
<%Response.Expires = -1%>
<%Response.Buffer = True%>
<!-- #include file="includes/Conn.inc" -->
<!-- #include file="includes/Replace.asp" -->
<html>
<head>
<title>Logga in</title>
</head>
<body>
<%
Dim Conn, RS, Email, Password, strSQL, strError
If Request.QueryString("Action") = "Submit" Then
Email = Request.Form("Email")
Password = Request.Form("Password")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open sConnect
Set RS = Conn.Execute("SELECT * FROM tblPersonal Where Email = '" & formatLink(Email) & "' And Password = '" & formatLink(Password) & "'")
If Not RS.EOF And Not RS.BOF Then
Response.Cookies ("LoggaIn") = True
Response.Cookies("LoggaIn").Expires = DateAdd("n", 20, Now())
Response.Redirect("Test.asp")
Else
Response.Cookies ("LoggaIn") = False
Session("strError") = "- Du är inte behörig"
Response.Redirect("TestLoggin.asp")
End If
RS.Close
Set RS = Nothing
Conn.Close
Set Conn = Nothing
End If
If Len(Session("strError")) > 0 Then
strError = Session("strError")
Session.Abandon()
End If
%>
<form action="TestLoggin.asp?Action=Submit" method="post">
<table width="314" border="0">
<tr>
<td width="119" height="22">E-Mail</td>
<td width="187"> </td>
</tr>
<tr>
<td><input type="text" name="email" size="18" maxlength="50"></td>
<td><%=strError%></td>
</tr>
<tr>
<td height="22">Lösenord<br></td>
<td> </td>
</tr>
<tr class="text10">
<td><input type="Password" name="Password" size="18" maxlength="18"></td>
<td><input name="submit" type="submit" value="Logga in"></td>
</tr>
</table>
</form>
</body>
</html>
Och jag kallar på cookien så här:
<%
If Request.Cookies("LoggaIn") = "" Then
Response.Redirect "TestLoggin.asp"
End If
%>
Om någon har förslag på förbättringar emottages dom med öppna armar.
Tackar på förhand
Uffe