Just nu i M3-nätverket
Jump to content

loggas ut efter tid


Siluett

Recommended Posts

Jag har ett forum där användare loggar in för att skriva. Nu har det hänt att om de skriver ett långt inlägg (30 min) så loggas de ut iunder tiden och meddelandet sparas inte. varför loggas de ut? hur gör man för att få bort det här?

 

Link to comment
Share on other sites

Jo, men problemet är att jag redan har ett värde på

Session.Timeout = 120

men man loggas ut efter en havtimme...

fler ideer? :-)

 

Link to comment
Share on other sites

Detta kan var klurigt, speciellt då inte session.timeout verkar fungera.

Jag kan dock ge ett simpelt men väldigt användbart tips.

På den sidan där du tar emot informationen och placerar den i en databas - gör session-checken först EFTER att du har placerat datan i DB. Normalt gör man ju detta överst på sidan. Dock, här ett MYCKET lämpligt undantag.

MVH

/donRollo

 

Link to comment
Share on other sites

Kan du hjälpa mig med VAR jag ska placera koden?

 

 

[MÄRK]<%[/MÄRK]

[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"action"[/GRÅ]) = [GRÅ]"login"[/GRÅ] [color="#0000ff"]Then[/color]
[color="#0000ff"]Dim[/color] Conn [color="#006400"]'as object[/color]
[color="#0000ff"]Dim[/color] strConn [color="#006400"]'as string[/color]
[color="#0000ff"]Dim[/color] strSQL [color="#006400"]'as string[/color]
[color="#0000ff"]Dim[/color] strLoginName [color="#006400"]'as sstring[/color]
[color="#0000ff"]Dim[/color] strPassword [color="#006400"]'as string[/color]
[color="#0000ff"]Dim[/color] strUser [color="#006400"]'as recordset[/color]

[color="#006400"]'Deklarera variabler för inloggningsnamn och lösenord[/color]
[color="#006400"]'Ta bort ogiltiga tecken från användarnamn och löseord (' och %)[/color]
strLoginName = [color="#0000ff"]Replace[/color]([b]Request[/b].Form([GRÅ]"fldLoginName"[/GRÅ]), [GRÅ]"'"[/GRÅ], [GRÅ]"''"[/GRÅ])
strPassword = [color="#0000ff"]Replace[/color]([b]Request[/b].Form([GRÅ]"fldpassword"[/GRÅ]), [GRÅ]"'"[/GRÅ], [GRÅ]"''"[/GRÅ])
strLoginName = [color="#0000ff"]Replace[/color](strLoginName, [GRÅ]"%"[/GRÅ], [GRÅ]""[/GRÅ])
strPassword = [color="#0000ff"]Replace[/color](strPassword, [GRÅ]"%"[/GRÅ], [GRÅ]""[/GRÅ])

[color="#006400"]'Skapa databaskopplingen[/color]
strConnString = [GRÅ]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="[/GRÅ] & [b]Server[/b].MapPath([GRÅ]"db/silverraider.mdb"[/GRÅ]) 
[color="#0000ff"]Set[/color] Conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ]) 
Conn.Open strConnString 

[color="#006400"]'Välj ut användaren som har angivet användarnamn och lösenord[/color]
strSQL = [GRÅ]""[/GRÅ]
strSQL = strSQL & [GRÅ]"SELECT userID, userLoginName, userEmail, userFullName FROM tblUsers "[/GRÅ]
strSQL = strSQL & [GRÅ]"WHERE userLoginName = '"[/GRÅ] & strLoginName & [GRÅ]"' AND userPassword = '"[/GRÅ] & strPassword & [GRÅ]"'"[/GRÅ]

[color="#006400"]'Öppna mitt recordset[/color]
[color="#0000ff"]Set[/color] rstUser = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])
rstUser.Open strSQL, Conn, 3, 3

[color="#0000ff"]If[/color] (rstUser.EOF or rstUser.BOF) [color="#0000ff"]Then[/color] [color="#006400"]'Misslyckades inloggningen?[/color]

[color="#ff0000"][b]Session[/b].Timeout = 120[/color]

[color="#006400"]'Skicka tillbaka användaren till inloggnings-sidan med ett meddelande[/color]
[b]Session[/b]([GRÅ]"message"[/GRÅ]) = [GRÅ]"<font color="[/GRÅ][GRÅ]"red"[/GRÅ][GRÅ]">Misslyckad inloggning.<br>Försök igen</font>"[/GRÅ]
[b]Response[/b].Redirect([GRÅ]"forum.asp"[/GRÅ])

[color="#0000ff"]Else[/color] [color="#006400"]'Inloggningen lyckades[/color]


[color="#006400"]'Deklarera sessions som hjälper mig hålla reda på den inloggade användaren[/color]
[b]Session[/b]([GRÅ]"userID"[/GRÅ]) = rstUser(0)
[b]Session[/b]([GRÅ]"userLoginName"[/GRÅ]) = rstUser(1)
[b]Session[/b]([GRÅ]"userEmail"[/GRÅ]) = rstUser(2)
[b]Session[/b]([GRÅ]"userFullName"[/GRÅ]) = rstUser(3)

[color="#006400"]'Uppdatera information om användaren[/color]
strSQL = [GRÅ]""[/GRÅ]
strSQL = strSQL & [GRÅ]"UPDATE tblUsers SET "[/GRÅ]
strSQL = strSQL & [GRÅ]"userLoginStatus = 1, "[/GRÅ] [color="#006400"]'Användaren är inloggad[/color]
strSQL = strSQL & [GRÅ]"userLoginLatest = #"[/GRÅ] & [color="#0000ff"]Now[/color]() & [GRÅ]"# "[/GRÅ] [color="#006400"]'Användarens senaste inloggning[/color]
strSQL = strSQL & [GRÅ]"WHERE userID = "[/GRÅ] & [b]Session[/b]([GRÅ]"userID"[/GRÅ]) 

Conn.[color="#0000ff"]Execute[/color](strSQL)


[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#006400"]'Stäng recordset[/color]
rstUser.Close
[color="#0000ff"]Set[/color] rstUser = [color="#0000ff"]Nothing[/color]
[color="#006400"]'Stäng databaskopplingen[/color]
Conn.Close
[color="#0000ff"]Set[/color] Conn = [color="#0000ff"]Nothing[/color]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]If[/color] [b]Request[/b].Querystring([GRÅ]"do"[/GRÅ]) = [GRÅ]"logut"[/GRÅ] [color="#0000ff"]Then[/color]
   [b]Session[/b].Abandon
   [b]Response[/b].Redirect [GRÅ]"forum.asp"[/GRÅ]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]If[/color] [color="#0000ff"]Len[/color]([b]Session[/b]([GRÅ]"userLoginName"[/GRÅ]))>0 [color="#0000ff"]Then[/color]
[b]Response[/b].Write [GRÅ]"Du är inloggad | <a href='forum.asp?do=logut'>Logga ut</a>"[/GRÅ]

Else%>
</font>

<div align=[GRÅ]"center"[/GRÅ]>
[MÄRK]<%[/MÄRK]=[b]Session[/b]([GRÅ]"message"[/GRÅ])[MÄRK]%>[/MÄRK]
<form name=[GRÅ]"frmLogin"[/GRÅ] method=[GRÅ]"post"[/GRÅ] action=[GRÅ]"forum.asp?action=login"[/GRÅ]>
<font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>
Användarnamn: <input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"fldLoginName"[/GRÅ]> 
Lösenord: <input type=[GRÅ]"password"[/GRÅ] name=[GRÅ]"fldPassword"[/GRÅ]> 
<input type=[GRÅ]"submit"[/GRÅ] value=[GRÅ]"Logga in"[/GRÅ]>
</font>
</form>
<a href=[GRÅ]"register.asp"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Registrera dig här</font></a>
</div>

<p>

<%End If%>

<!--/INLOGGNING-->


</td></tr><tr>


<font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>

<%db = [b]Server[/b].MapPath([GRÅ]"db/forum.mdb"[/GRÅ])        [color="#006400"]'Sökvägen till databasen[/color]

[color="#0000ff"]Function[/color] FixaTecken(str)
  FixaTecken  = [color="#0000ff"]Replace[/color]([color="#0000ff"]Trim[/color](str),[GRÅ]"'"[/GRÅ],[GRÅ]"''"[/GRÅ])
[color="#0000ff"]End[/color] [color="#0000ff"]Function[/color]

[color="#0000ff"]Set[/color] Conn = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ])
Conn.Open [GRÅ]"Driver={Microsoft Access Driver (*.mdb)}; DBQ="[/GRÅ] & db

[color="#0000ff"]If[/color] [b]Request[/b].Querystring([GRÅ]"visa"[/GRÅ]) = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color]

[MÄRK]%>[/MÄRK] 

</font> 


 <td width=[GRÅ]"5"[/GRÅ]>&nbsp;</td>
 <td width=[GRÅ]"205"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Rubrik</font></b></td>
 <td width=[GRÅ]"153"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Postat av</font></b></td>
 <td align=[GRÅ]"center"[/GRÅ] width=[GRÅ]"20"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Svar</font></b></td>
 <td align=[GRÅ]"right"[/GRÅ] width=[GRÅ]"215"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Senaste inlägget</font></b></td>
</tr>


<%Set RecSet    = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])

[color="#0000ff"]Const[/color] fps1 = 25                                     [color="#006400"]' ANTAL INLÄGG PER SIDA[/color]
[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"page"[/GRÅ]) = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] 
page = 1 
[color="#0000ff"]Else[/color] 
page = [b]Request[/b].QueryString([GRÅ]"page"[/GRÅ]) 
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color] 

RecSet.CursorLocation = 3
RecSet.CacheSize = fps1

SQL = [GRÅ]"SELECT * From forum WHERE SvarsId=0 Order By Senast DESC"[/GRÅ]
RecSet.Open SQL, Conn

[color="#0000ff"]If[/color] RecSet.EOF Then%>
<p>
  <tr>
    <td colspan=[GRÅ]"5"[/GRÅ] width=[GRÅ]"600"[/GRÅ]><i><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>Ingen har skrivit i forumet.</font></i></td>
  </tr>
<%Else
RecSet.MoveFirst 
RecSet.PageSize = fps1 

TotalPages = RecSet.PageCount 
RecSet.AbsolutePage = page 

X = 0 
[color="#0000ff"]Do[/color] [color="#0000ff"]While[/color] [color="#0000ff"]Not[/color] RecSet.EOF [color="#0000ff"]And[/color] X < RecSet.PageSize%>

<tr>
 <td width=[GRÅ]"5"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]><%If RecSet([GRÅ]"senast"[/GRÅ]) > [color="#0000ff"]Date[/color] - 1 [color="#0000ff"]Then[/color] [b]Response[/b].Write [GRÅ]" &#187;"[/GRÅ] [color="#0000ff"]End[/color] If%></font></b></td>
 <td width=[GRÅ]"205"[/GRÅ]><b><a href=[GRÅ]"forum.asp?visa=las&id=<%=RecSet("[/GRÅ]id[GRÅ]")%>&rubrik=<%=RecSet("[/GRÅ]rubrik[GRÅ]")%>"[/GRÅ] onfocus=[GRÅ]"this.blur()"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK]=[color="#0000ff"]Left[/color](RecSet([GRÅ]"Rubrik"[/GRÅ]),25)[MÄRK]%>[/MÄRK]</font></a></b></td>
 <td width=[GRÅ]"153"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"namn"[/GRÅ])[MÄRK]%>[/MÄRK] &nbsp;</font></td>
 <td align=[GRÅ]"center"[/GRÅ] width=[GRÅ]"20"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"Svar"[/GRÅ])[MÄRK]%>[/MÄRK]</font></td>
 <td align=[GRÅ]"right"[/GRÅ] width=[GRÅ]"215"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]><%If RecSet([GRÅ]"Svar"[/GRÅ]) > 0 Then%></font><font face=[GRÅ]"verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"Senast"[/GRÅ])%><%Else%><%=RecSet([GRÅ]"datum"[/GRÅ])%><%End If%></font></td>
</tr>

<%X = X + 1 
RecSet.MoveNext
[color="#0000ff"]Loop[/color]

RecSet.Close
[color="#0000ff"]Set[/color] RecSet = [color="#0000ff"]Nothing[/color]

[color="#0000ff"]End[/color] If%>



  <tr>
    <td colspan=[GRÅ]"5"[/GRÅ] width=[GRÅ]"600"[/GRÅ]><hr color=[GRÅ]"#6699cc"[/GRÅ]></td>
  </tr>
  <tr>
     <td valign=[GRÅ]"top"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ] width=[GRÅ]"600"[/GRÅ]>
          <font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>
          <%For Pages = 1 [color="#0000ff"]To[/color] TotalPages 
              [color="#0000ff"]If[/color] (Int(Pages)) = (Int(page)) Then%></font><font size=[GRÅ]"1"[/GRÅ] face=[GRÅ]"verdana"[/GRÅ]><b>[MÄRK]<%[/MÄRK]=Pages%></b> <%Else%><a href=[GRÅ]"forum.asp?action=ja&page=<%=Pages%>"[/GRÅ] onfocus=[GRÅ]"this.blur()"[/GRÅ]><b>[MÄRK]<%[/MÄRK]=Pages%></b></a> <%End [color="#0000ff"]If[/color]
          Next%> </font>
     </td>
   </tr> 
<%If TotalPages => 1 Then%>

<%End If%>

  <tr>
    <td colspan=[GRÅ]"5"[/GRÅ] width=[GRÅ]"600"[/GRÅ]><hr color=[GRÅ]"#6699cc"[/GRÅ]><br><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Skriv ett meddelande!</font></b><p></td>
  </tr>


<tr><td width=[GRÅ]"600"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ]>

[MÄRK]<%[/MÄRK] [color="#0000ff"]If[/color] [color="#0000ff"]Len[/color]([b]Session[/b]([GRÅ]"userLoginName"[/GRÅ]))>0 Then%>
<p>&nbsp;<p>

<table border=[GRÅ]"0"[/GRÅ] cellpadding=[GRÅ]"0"[/GRÅ] cellspacing=[GRÅ]"0"[/GRÅ] width=[GRÅ]"602"[/GRÅ] align=[GRÅ]"center"[/GRÅ]>
   <form name=[GRÅ]"add"[/GRÅ] action=[GRÅ]"forum.asp?laggtill=ja"[/GRÅ] method=[GRÅ]"post"[/GRÅ]>
    <tr> 
      <td width=[GRÅ]"187"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK] =[b]Session[/b]([GRÅ]"userFullName"[/GRÅ])[MÄRK]%>[/MÄRK]<br>[MÄRK]<%[/MÄRK] =[b]Session[/b]([GRÅ]"userEmail"[/GRÅ])[MÄRK]%>[/MÄRK]</font></td>
  	</tr>
    <tr>
      <td width=[GRÅ]"187"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Rubrik:</font></b></td><td width=[GRÅ]"411"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]><input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"rubrik"[/GRÅ] size=[GRÅ]"35"[/GRÅ]></font></td>
    </tr>
    <tr> 
      <td height=[GRÅ]"19"[/GRÅ] valign=[GRÅ]"top"[/GRÅ] colspan=[GRÅ]"2"[/GRÅ] width=[GRÅ]"600"[/GRÅ]> <font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]> <b>Inlägg:</b><br>
        <textarea name=[GRÅ]"inlagg"[/GRÅ] cols=[GRÅ]"80"[/GRÅ] rows=[GRÅ]"10"[/GRÅ]></textarea>
        </font>
      </td>
    </tr>
    <tr> 
      <td width=[GRÅ]"187"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]><input type=[GRÅ]"submit"[/GRÅ] value=[GRÅ]"Posta inlägg"[/GRÅ]></font></td>
    </tr>
    </form>
</table>



</td></tr><tr><td width=[GRÅ]"600"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ]><hr color=[GRÅ]"#6699cc"[/GRÅ]><br>
<font face=[GRÅ]"verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>
[MÄRK]<%[/MÄRK] [color="#0000ff"]Else[/color] 
[b]Response[/b].Write [GRÅ]"Du måste vara inloggad för att skriva i forumet."[/GRÅ]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[MÄRK]%>[/MÄRK]

<%End [color="#0000ff"]If[/color]
[color="#0000ff"]If[/color] [b]Request[/b].Querystring([GRÅ]"visa"[/GRÅ]) = [GRÅ]"las"[/GRÅ] [color="#0000ff"]Then[/color]

[color="#0000ff"]Set[/color] RecSet    = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])

SQL = [GRÅ]"SELECT * From forum WHERE id="[/GRÅ] & [b]Request[/b].Querystring([GRÅ]"id"[/GRÅ])
RecSet.Open SQL, Conn%>
</font>

</td></tr><tr><td width=[GRÅ]"600"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ]>

<table width=[GRÅ]"600"[/GRÅ] cellpadding=[GRÅ]"0"[/GRÅ] cellspacing=[GRÅ]"0"[/GRÅ] border=[GRÅ]"0"[/GRÅ] align=[GRÅ]"center"[/GRÅ]>
  	<tr><p>
    <td align=[GRÅ]"right"[/GRÅ]><b><a href=[GRÅ]"forum.asp"[/GRÅ] onfocus=[GRÅ]"this.blur()"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Tillbaka</font></a></b></td>
  	</tr><p>
  	<tr>
    <td></td>
  	</tr>
  	<tr height=[GRÅ]"15"[/GRÅ]>
    <td><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"Rubrik"[/GRÅ])[MÄRK]%>[/MÄRK]</font></b></td>
  	</tr>
  	<tr>
    <td><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK]=FixaLankar([b]Server[/b].HTMLEncode(RecSet([GRÅ]"inlagg"[/GRÅ])))[MÄRK]%>[/MÄRK]</font></td>
  	</tr>
  	<tr>
    <td height=[GRÅ]"15"[/GRÅ]>
    <font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>
    <b><%If RecSet([GRÅ]"Email"[/GRÅ]) <> [GRÅ]""[/GRÅ] Then%><a href=[GRÅ]"mailto:<%=RecSet("[/GRÅ]Email[GRÅ]")%>"[/GRÅ] onfocus=[GRÅ]"this.blur()"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"Namn"[/GRÅ])[MÄRK]%>[/MÄRK]</a><%Else%><%=RecSet([GRÅ]"Namn"[/GRÅ])%><%End If%></b> - [MÄRK]<%[/MÄRK]=[color="#0000ff"]FormatDateTime[/color](RecSet([GRÅ]"Datum"[/GRÅ]),0)[MÄRK]%>[/MÄRK]</font></td>
  	</tr>
  	<tr>
    <td></td>
  	</tr>
  	<tr><p>
    <td><hr color=[GRÅ]"#6699cc"[/GRÅ]><br><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Svar på detta inlägg:</font></b></td>
  	</tr>


<%Svar=RecSet([GRÅ]"Svar"[/GRÅ])

RecSet.Close
[color="#0000ff"]Set[/color] RecSet = [color="#0000ff"]Nothing[/color]

[color="#0000ff"]Set[/color] RecSet    = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Recordset"[/GRÅ])

[color="#0000ff"]Const[/color] fps2 = 5                                     [color="#006400"]' ANTAL SVARSINLÄGG PER SIDA[/color]
[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"page"[/GRÅ]) = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] 
page = 1 
[color="#0000ff"]Else[/color] 
page = [b]Request[/b].QueryString([GRÅ]"page"[/GRÅ]) 
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color] 

RecSet.CursorLocation = 3
RecSet.CacheSize = fps2 

SQL = [GRÅ]"SELECT * From forum WHERE svarsid="[/GRÅ] & [b]Request[/b].Querystring([GRÅ]"id"[/GRÅ]) & [GRÅ]" Order By datum desc"[/GRÅ]
RecSet.Open SQL, Conn

[color="#0000ff"]If[/color] Svar = 0 Then%>

  	<tr>
    <td><i><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Inget svar på detta inlägg.</font></i></td>
  	</tr>


<%Else

RecSet.MoveFirst 
RecSet.PageSize = fps2 

TotalPages = RecSet.PageCount 
RecSet.AbsolutePage = page 

X = 0 
[color="#0000ff"]Do[/color] [color="#0000ff"]While[/color] [color="#0000ff"]Not[/color] RecSet.EOF [color="#0000ff"]And[/color] X < RecSet.PageSize%>

  	<tr height=[GRÅ]"15"[/GRÅ]>
    <td><hr color=[GRÅ]"#6699cc"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"Rubrik"[/GRÅ])[MÄRK]%>[/MÄRK]</font></b></td>
  	</tr>
  	<tr>
    <td><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK]=FixaLankar([b]Server[/b].HTMLEncode(RecSet([GRÅ]"inlagg"[/GRÅ])))[MÄRK]%>[/MÄRK]</font></td>
  	</tr>
  	<tr>
    <td height=[GRÅ]"15"[/GRÅ]>
    <font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>
    <b><%If RecSet([GRÅ]"Email"[/GRÅ]) <> [GRÅ]""[/GRÅ] Then%><a href=[GRÅ]"mailto:<%=RecSet("[/GRÅ]Email[GRÅ]")%>"[/GRÅ] onfocus=[GRÅ]"this.blur()"[/GRÅ]>[MÄRK]<%[/MÄRK]=RecSet([GRÅ]"Namn"[/GRÅ])[MÄRK]%>[/MÄRK]</a><%Else%><%=RecSet([GRÅ]"Namn"[/GRÅ])%><%End If%></b> - [MÄRK]<%[/MÄRK]=[color="#0000ff"]FormatDateTime[/color](RecSet([GRÅ]"Datum"[/GRÅ]),0)[MÄRK]%>[/MÄRK]</font></td>
  	</tr>

<%X = X + 1 
RecSet.MoveNext
[color="#0000ff"]Loop[/color]

RecSet.Close
[color="#0000ff"]Set[/color] RecSet = [color="#0000ff"]Nothing[/color]

[color="#0000ff"]End[/color] If%>

  		<tr>
     <td valign=[GRÅ]"top"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ]><hr color=[GRÅ]"#6699cc"[/GRÅ]>
          <font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>
          <%For Pages = 1 [color="#0000ff"]To[/color] TotalPages 
              [color="#0000ff"]If[/color] (Int(Pages)) = (Int(page)) Then%></font><b>[MÄRK]<%[/MÄRK]=Pages%></b> <%Else%><a href=[GRÅ]"forum.asp?visa=las&id=<% =Request.QueryString("[/GRÅ]id[GRÅ]") %>&page=<%=Pages%>"[/GRÅ] onfocus=[GRÅ]"this.blur()"[/GRÅ]><b>[MÄRK]<%[/MÄRK]=Pages%></b></a> <%End [color="#0000ff"]If[/color]
          Next%>
     </td>
   	</tr>
<%If TotalPages => 1 Then%>

<%End If%>

[MÄRK]<%[/MÄRK] [color="#0000ff"]If[/color] [color="#0000ff"]Len[/color]([b]Session[/b]([GRÅ]"userLoginName"[/GRÅ]))>0 [color="#0000ff"]Then[/color] [MÄRK]%>[/MÄRK]

  	<tr>
    <td><hr color=[GRÅ]"#6699cc"[/GRÅ]><br><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Skriv ett svar!</font></b></td>
  	</tr>
</table>



</td></tr><tr><td width=[GRÅ]"600"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ]>


<table border=[GRÅ]"0"[/GRÅ] cellpadding=[GRÅ]"0"[/GRÅ] cellspacing=[GRÅ]"0"[/GRÅ] width=[GRÅ]"600"[/GRÅ] align=[GRÅ]"center"[/GRÅ] colspan=[GRÅ]"5"[/GRÅ]>
  	<form action=[GRÅ]"forum.asp?laggtill=ja&id=<%=Request.QueryString("[/GRÅ]id[GRÅ]") %>"[/GRÅ] method=[GRÅ]"post"[/GRÅ] name=[GRÅ]"svar"[/GRÅ]>
  	<input type=[GRÅ]"hidden"[/GRÅ] name=[GRÅ]"gomt_id"[/GRÅ] value=[GRÅ]"<%=Request.QueryString("[/GRÅ]id[GRÅ]")%>"[/GRÅ]>
    <tr> 
      <td width=[GRÅ]"100"[/GRÅ]><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"1"[/GRÅ]>[MÄRK]<%[/MÄRK] =[b]Session[/b]([GRÅ]"userFullName"[/GRÅ])[MÄRK]%>[/MÄRK]<br>[MÄRK]<%[/MÄRK] =[b]Session[/b]([GRÅ]"userEmail"[/GRÅ])[MÄRK]%>[/MÄRK]</font></td>
  	</tr>
    <tr>
      <td width=[GRÅ]"60"[/GRÅ]><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>Rubrik:</font></b><nobr><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]><input type=[GRÅ]"text"[/GRÅ] name=[GRÅ]"rubrik"[/GRÅ] size=[GRÅ]"35"[/GRÅ] value=[GRÅ]"<%If Left(Request.Querystring("[/GRÅ]rubrik[GRÅ]"),6) = "[/GRÅ]Svar: [GRÅ]" Then%><%=Request.Querystring("[/GRÅ]rubrik[GRÅ]")%><%Else%>Svar: <%=Request.Querystring("[/GRÅ]rubrik[GRÅ]")%><%End If%>"[/GRÅ]></font><b><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>&nbsp; </font></b></nobr></td>
    </tr>
     <input type=[GRÅ]"hidden"[/GRÅ] name=[GRÅ]"id"[/GRÅ] value=[GRÅ]"<% =Request.QueryString("[/GRÅ]id[GRÅ]") %>"[/GRÅ]>
    <tr> 
      <td height=[GRÅ]"19"[/GRÅ] valign=[GRÅ]"top"[/GRÅ] colspan=[GRÅ]"1"[/GRÅ]> <font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]> <b>Inlägg:</b><br>
        <textarea name=[GRÅ]"inlagg"[/GRÅ] cols=[GRÅ]"80"[/GRÅ] rows=[GRÅ]"10"[/GRÅ]></textarea>
        </font>
      </td>
    </tr>
    <tr> 
      <td><font face=[GRÅ]"Verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]><input type=[GRÅ]"submit"[/GRÅ] value=[GRÅ]"Posta svar"[/GRÅ]></font></td>
    </tr>
  	</form>
</table>


<font face=[GRÅ]"verdana"[/GRÅ] size=[GRÅ]"2"[/GRÅ]>
[MÄRK]<%[/MÄRK] [color="#0000ff"]Else[/color] 
[b]Response[/b].Write [GRÅ]"Du måste vara inloggad för att skriva i forumet."[/GRÅ]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[MÄRK]%>[/MÄRK]</font>

<%End If%>

<%If [b]Request[/b].QueryString([GRÅ]"laggtill"[/GRÅ]) = [GRÅ]"ja"[/GRÅ] [color="#0000ff"]Then[/color]

Rubrik      = [b]Request[/b].Form([GRÅ]"Rubrik"[/GRÅ])
Inlagg      = FixaTecken([b]Request[/b].Form([GRÅ]"inlagg"[/GRÅ]))
Namn       = [b]Request[/b].Form([GRÅ]"namn"[/GRÅ])
Email        = [b]Request[/b].Form([GRÅ]"email"[/GRÅ])
SvarsId    = [b]Request[/b].QueryString([GRÅ]"id"[/GRÅ])

[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"id"[/GRÅ]) = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color] 

Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Insert Into forum(Rubrik, Inlagg, Namn, Email) Values('"[/GRÅ]& Rubrik &[GRÅ]"','"[/GRÅ]& Inlagg &[GRÅ]"','"[/GRÅ]& [b]Session[/b]([GRÅ]"userFullName"[/GRÅ]) &[GRÅ]"','"[/GRÅ]& [b]Session[/b]([GRÅ]"userEmail"[/GRÅ]) &[GRÅ]"')"[/GRÅ])

[b]Response[/b].Redirect [GRÅ]"forum.asp"[/GRÅ]

[color="#0000ff"]Else[/color]

Conn.[color="#0000ff"]Execute[/color]([GRÅ]"Insert Into forum(Rubrik, Inlagg, Namn, Email, SvarsId) Values('"[/GRÅ]& Rubrik &[GRÅ]"','"[/GRÅ]& Inlagg &[GRÅ]"','"[/GRÅ]& [b]Session[/b]([GRÅ]"userFullName"[/GRÅ]) &[GRÅ]"','"[/GRÅ]& [b]Session[/b]([GRÅ]"userEmail"[/GRÅ]) &[GRÅ]"','"[/GRÅ]& SvarsId &[GRÅ]"')"[/GRÅ])
Conn.[color="#0000ff"]Execute[/color]([GRÅ]"UPDATE forum SET senast=now WHERE id="[/GRÅ] & SvarsId)

[color="#0000ff"]If[/color] SvarsId <> 0 [color="#0000ff"]Then[/color]
  Conn.[color="#0000ff"]Execute[/color]([GRÅ]"UPDATE forum SET Svar=Svar+1 WHERE id="[/GRÅ] & SvarsId)
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[b]Response[/b].Redirect [GRÅ]"forum.asp?visa=las&id="[/GRÅ] &[b]Request[/b].QueryString([GRÅ]"id"[/GRÅ]) & [GRÅ]"&rubrik="[/GRÅ] &[b]Request[/b].Form([GRÅ]"rubrik"[/GRÅ])

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]
[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"visa"[/GRÅ]) = [GRÅ]"sok"[/GRÅ] Then%>
<!-- #include file=[GRÅ]"sok.asp"[/GRÅ] -->

[MÄRK]<%[/MÄRK]
[color="#006400"]'Stäng databaskopplingen[/color]
Conn.Close
[color="#0000ff"]Set[/color] Conn = [color="#0000ff"]Nothing[/color]
[MÄRK]%>[/MÄRK]

<%End If%>

 

 

 

Det fungerar alltså så att om man är inloggad och skriver ett långt meddelande, så loggas man ut och meddelandet försvinner när man trycker på send.

 

 

Link to comment
Share on other sites

Tjena igen!

Kollade in din kod och ett litet tips är att försöka skriva lite mer strukturerad kod. Med detta menar jag att inte samla ALLA funktioner på en och samma sida. Ha en asp-sida för att visa alla inlägg, 1 sida för att posta ett nytt inlägg, 1 sida för att ta bort ett inlägg, 1 sida för att uppdatera ett inlägg osv. Helt enkelt en sida för varje ny sak du vill göra i forumet. Att blanda allting som du gör på en och samma sida är INTE bra och skapar bara onödiga problem. Jaja, jag har kollat igenom din kod och försökt göra lite justeringar. Kan inte garantera att det fungerar, men testa gärna och återkom om det inte fungerar så gör jag ett nytt försök.

/donRollo

 

<% If Request.QueryString("action") = "login" Then

Dim Conn 'as object

Dim strConn 'as string

Dim strSQL 'as string

Dim strLoginName 'as sstring

Dim strPassword 'as string

Dim strUser 'as recordset

 

'Deklarera variabler för inloggningsnamn och lösenord

'Ta bort ogiltiga tecken från användarnamn och löseord (' och %)

strLoginName = Replace(Request.Form("fldLoginName"), "'", "''")

strPassword = Replace(Request.Form("fldpassword"), "'", "''")

strLoginName = Replace(strLoginName, "%", "")

strPassword = Replace(strPassword, "%", "")

 

'Skapa databaskopplingen

strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/silverraider.mdb")

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open strConnString

 

'Välj ut användaren som har angivet användarnamn och lösenord

strSQL = ""

strSQL = strSQL & "SELECT userID, userLoginName, userEmail, userFullName FROM tblUsers "

strSQL = strSQL & "WHERE userLoginName = '" & strLoginName & "' AND userPassword = '" & strPassword & "'"

 

'Öppna mitt recordset

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

rstUser.Open strSQL, Conn, 3, 3

 

If (rstUser.EOF or rstUser.BOF) Then 'Misslyckades inloggningen?

 

'*** KOPIERADE DETTA KODBLOCK UPP HIT. TANKEN ÄR ATT INFORMATIONEN SKA SPARAS INNAN MAN BLIR UTKASTAD.

If Request.QueryString("laggtill") = "ja" Then

Rubrik = Request.Form("Rubrik")

Inlagg = FixaTecken(Request.Form("inlagg"))

Namn = Request.Form("namn")

Email = Request.Form("email")

SvarsId = Request.QueryString("id")

If Request.QueryString("id") = "" Then

Conn.Execute("Insert Into forum(Rubrik, Inlagg, Namn, Email) Values('"& Rubrik &"','"& Inlagg &"','"& Session("userFullName") &"','"& Session("userEmail") &"')")

Response.Redirect "forum.asp"

Else

Conn.Execute("Insert Into forum(Rubrik, Inlagg, Namn, Email, SvarsId) Values('"& Rubrik &"','"& Inlagg &"','"& Session("userFullName") &"','"& Session("userEmail") &"','"& SvarsId &"')")

Conn.Execute("UPDATE forum SET senast=now WHERE id=" & SvarsId)

If SvarsId <> 0 Then

Conn.Execute("UPDATE forum SET Svar=Svar+1 WHERE id=" & SvarsId)

End If

Response.Redirect "forum.asp?visa=las&id=" &Request.QueryString("id") & "&rubrik=" &Request.Form("rubrik")

End If

End If

 

'Skicka tillbaka användaren till inloggnings-sidan med ett meddelande

'*** JAG LA TILL DENNA IF-SATS FÖR ATT TALA OM FÖR ANVÄNDAREN ATT INLÄGGET BLEV SPARAT TROTS UTLOGGNINGEN

If Request.QueryString("laggtill") = "ja" Then

Session("message") = "<font color=""red"">Du loggades ut medan du skrev ditt inlägg. Information blev dock sparad i databasen.</font>"

else

Session("message") = "<font color=""red"">Misslyckad inloggning.<br>Försök igen</font>"

end if

 

'*** FLYTTADE NER SESSION.TIMEOUT

Session.Timeout = 120

Response.Redirect("forum.asp")

 

Else 'Inloggningen lyckades

 

'Deklarera sessions som hjälper mig hålla reda på den inloggade användaren

Session("userID") = rstUser(0)

Session("userLoginName") = rstUser(1)

Session("userEmail") = rstUser(2)

Session("userFullName") = rstUser(3)

'*** HÄR HADE DU INGEN SESSION.TIMEOUT. DÄRFÖR FUNGERADE DET INTE MED TIDEN

Session.Timeout = 120

 

'Uppdatera information om användaren

strSQL = ""

strSQL = strSQL & "UPDATE tblUsers SET "

strSQL = strSQL & "userLoginStatus = 1, " 'Användaren är inloggad

strSQL = strSQL & "userLoginLatest = #" & Now() & "# " 'Användarens senaste inloggning

strSQL = strSQL & "WHERE userID = " & Session("userID")

Conn.Execute(strSQL)

 

End If

 

'Stäng recordset

rstUser.Close

Set rstUser = Nothing

'Stäng databaskopplingen

Conn.Close

Set Conn = Nothing

 

End If

 

If Request.Querystring("do") = "logut" Then

Session.Abandon

Response.Redirect "forum.asp"

End If

 

If Len(Session("userLoginName"))>0 Then

Response.Write "Du är inloggad | <a href='forum.asp?do=logut'>Logga ut</a>"

Else%>

</font>

 

<div align="center">

<%=Session("message")%>

<form name="frmLogin" method="post" action="forum.asp?action=login">

<font face="Verdana" size="2">

Användarnamn: <input type="text" name="fldLoginName">

Lösenord: <input type="password" name="fldPassword">

<input type="submit" value="Logga in">

</font>

</form>

<a href="register.asp"><font face="Verdana" size="2">Registrera dig här</font></a>

</div>

 

<p>

 

<%End If%>

 

<!--/INLOGGNING-->

 

 

</td></tr><tr>

 

 

<font face="Verdana" size="2">

 

<%db = Server.MapPath("db/forum.mdb") 'Sökvägen till databasen

 

Function FixaTecken(str)

FixaTecken = Replace(Trim(str),"'","''")

End Function

 

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db

 

If Request.Querystring("visa") = "" Then

 

%>

 

</font>

 

 

<td width="5">&nbsp;</td>

<td width="205"><b><font face="Verdana" size="2">Rubrik</font></b></td>

<td width="153"><b><font face="Verdana" size="2">Postat av</font></b></td>

<td align="center" width="20"><b><font face="Verdana" size="2">Svar</font></b></td>

<td align="right" width="215"><b><font face="Verdana" size="2">Senaste inlägget</font></b></td>

</tr>

 

 

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

 

Const fps1 = 25 ' ANTAL INLÄGG PER SIDA

If Request.QueryString("page") = "" Then

page = 1

Else

page = Request.QueryString("page")

End If

 

RecSet.CursorLocation = 3

RecSet.CacheSize = fps1

 

SQL = "SELECT * From forum WHERE SvarsId=0 Order By Senast DESC"

RecSet.Open SQL, Conn

 

If RecSet.EOF Then%>

<p>

<tr>

<td colspan="5" width="600"><i><font face="Verdana" size="1">Ingen har skrivit i forumet.</font></i></td>

</tr>

<%Else

RecSet.MoveFirst

RecSet.PageSize = fps1

 

TotalPages = RecSet.PageCount

RecSet.AbsolutePage = page

 

X = 0

Do While Not RecSet.EOF And X < RecSet.PageSize%>

 

<tr>

<td width="5"><b><font face="Verdana" size="1"><%If RecSet("senast") > Date - 1 Then Response.Write " &#187;" End If%></font></b></td>

<td width="205"><b><a href="forum.asp?visa=las&id=<%=RecSet("id")%>&rubrik=<%=RecSet("rubrik")%>" onfocus="this.blur()"><font face="Verdana" size="1"><%=Left(RecSet("Rubrik"),25)%></font></a></b></td>

<td width="153"><font face="Verdana" size="1"><%=RecSet("namn")%> &nbsp;</font></td>

<td align="center" width="20"><font face="Verdana" size="1"><%=RecSet("Svar")%></font></td>

<td align="right" width="215"><font face="Verdana" size="1"><%If RecSet("Svar") > 0 Then%></font><font face="verdana" size="1"><%=RecSet("Senast")%><%Else%><%=RecSet("datum")%><%End If%></font></td>

</tr>

 

<%X = X + 1

RecSet.MoveNext

Loop

 

RecSet.Close

Set RecSet = Nothing

 

End If%>

 

 

 

<tr>

<td colspan="5" width="600"><hr color="#6699cc"></td>

</tr>

<tr>

<td valign="top" colspan="5" width="600">

 

<font face="Verdana" size="1">

 

<%For Pages = 1 To TotalPages

 

If (Int(Pages)) = (Int(page)) Then%></font><font size="1" face="verdana"><b><%=Pages%></b> <%Else%><a href="forum.asp?action=ja&page=<%=Pages%>" onfocus="this.blur()"><b><%=Pages%></b></a> <%End If

 

Next%> </font>

</td>

</tr>

<%If TotalPages => 1 Then%>

 

<%End If%>

 

<tr>

<td colspan="5" width="600"><hr color="#6699cc"><br><b><font face="Verdana" size="2">Skriv ett meddelande!</font></b><p></td>

</tr>

 

 

<tr><td width="600" colspan="5">

 

<% If Len(Session("userLoginName"))>0 Then%>

<p>&nbsp;<p>

 

<table border="0" cellpadding="0" cellspacing="0" width="602" align="center">

<form name="add" action="forum.asp?laggtill=ja" method="post">

<tr>

<td width="187"><font face="Verdana" size="1"><% =Session("userFullName")%><br><% =Session("userEmail")%></font></td>

</tr>

<tr>

<td width="187"><b><font face="Verdana" size="2">Rubrik:</font></b></td><td width="411"><font face="Verdana" size="2"><input type="text" name="rubrik" size="35"></font></td>

</tr>

<tr>

<td height="19" valign="top" colspan="2" width="600"> <font face="Verdana" size="2"> <b>Inlägg:</b><br>

<textarea name="inlagg" cols="80" rows="10"></textarea>

</font>

;

</td>

</tr>

<tr>

<td width="187"><font face="Verdana" size="2"><input type="submit" value="Posta inlägg"></font></td>

</tr>

</form>

</table>

 

 

 

</td></tr><tr><td width="600" colspan="5"><hr color="#6699cc"><br>

<font face="verdana" size="2">

<% Else

Response.Write "Du måste vara inloggad för att skriva i forumet."

 

End If

%>

 

<%End If

If Request.Querystring("visa") = "las" Then

 

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

 

SQL = "SELECT * From forum WHERE id=" & Request.Querystring("id")

RecSet.Open SQL, Conn%>

</font>

 

</td></tr><tr><td width="600" colspan="5">

 

<table width="600" cellpadding="0" cellspacing="0" border="0" align="center">

<tr><p>

<td align="right"><b><a href="forum.asp" onfocus="this.blur()"><font face="Verdana" size="2">Tillbaka</font></a></b></td>

</tr><p>

<tr>

<td></td>

</tr>

<tr height="15">

<td><b><font face="Verdana" size="2"><%=RecSet("Rubrik")%></font></b></td>

</tr>

<tr>

<td><font face="Verdana" size="1"><%=FixaLankar(Server.HTMLEncode(RecSet("inlagg")))%></font></td>

</tr>

<tr>

<td height="15">

<font face="Verdana" size="1">

<b><%If RecSet("Email") <> "" Then%><a href="mailto:<%=RecSet("Email")%>" onfocus="this.blur()"><%=RecSet("Namn")%></a><%Else%><%=RecSet("Namn")%><%End If%></b> - <%=FormatDateTime(RecSet("Datum"),0)%></font></td>

</tr>

<tr>

<td></td>

</tr>

<tr><p>

<td><hr color="#6699cc"><br><b><font face="Verdana" size="2">Svar på detta inlägg:</font></b></td>

</tr>

 

 

<%Svar=RecSet("Svar")

 

RecSet.Close

Set RecSet = Nothing

 

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

 

Const fps2 = 5 ' ANTAL SVARSINLÄGG PER SIDA

If Request.QueryString("page") = "" Then

page = 1

Else

page = Request.QueryString("page")

End If

 

RecSet.CursorLocation = 3

RecSet.CacheSize = fps2

 

SQL = "SELECT * From forum WHERE svarsid=" & Request.Querystring("id") & " Order By datum desc"

RecSet.Open SQL, Conn

 

If Svar = 0 Then%>

 

<tr>

<td><i><font face="Verdana" size="2">Inget svar på detta inlägg.</font></i></td>

</tr>

 

 

<%Else

 

RecSet.MoveFirst

RecSet.PageSize = fps2

 

TotalPages = RecSet.PageCount

RecSet.AbsolutePage = page

 

X = 0

Do While Not RecSet.EOF And X < RecSet.PageSize%>

 

<tr height="15">

<td><hr color="#6699cc"><b><font face="Verdana" size="2"><%=RecSet("Rubrik")%></font></b></td>

</tr>

<tr>

<td><font face="Verdana" size="1"><%=FixaLankar(Server.HTMLEncode(RecSet("inlagg")))%></font></td>

</tr>

<tr>

<td height="15">

<font face="Verdana" size="1">

<b><%If RecSet("Email") <> "" Then%><a href="mailto:<%=RecSet("Email")%>" onfocus="this.blur()"><%=RecSet("Namn")%></a><%Else%><%=RecSet("Namn")%><%End If%></b> - <%=FormatDateTime(RecSet("Datum"),0)%></font></td>

</tr>

 

<%X = X + 1

RecSet.MoveNext

Loop

 

RecSet.Close

Set RecSet = Nothing

 

End If%>

 

<tr>

<td valign="top" colspan="5"><hr color="#6699cc">

 

<font face="Verdana" size="2">

 

<%For Pages = 1 To TotalPages

 

If (Int(Pages)) = (Int(page)) Then%></font><b><%=Pages%></b> <%Else%><a href="forum.asp?visa=las&id=<% =Request.QueryString("id") %>&page=<%=Pages%>" onfocus="this.blur()"><b><%=Pages%></b></a> <%End If

 

Next%>

</td>

</tr>

<%If TotalPages => 1 Then%>

 

<%End If%>

 

<% If Len(Session("userLoginName"))>0 Then %>

 

<tr>

<td><hr color="#6699cc"><br><b><font face="Verdana" size="2">Skriv ett svar!</font></b></td>

</tr>

</table>

 

 

 

</td></tr><tr><td width="600" colspan="5">

 

 

<table border="0" cellpadding="0" cellspacing="0" width="600" align="center" colspan="5">

<form action="forum.asp?laggtill=ja&id=<%=Request.QueryString("id") %>" method="post" name="svar">

<input type="hidden" name="gomt_id" value="<%=Request.QueryString("id")%>">

<tr>

<td width="100"><font face="Verdana" size="1"><% =Session("userFullName")%><br><% =Session("userEmail")%></font></td>

</tr>

<tr>

<td width="60"><b><font face="Verdana" size="2">Rubrik:</font></b><nobr><font face="Verdana" size="2"><input type="text" name="rubrik" size="35" value="<%If Left(Request.Querystring("rubrik"),6) = "Svar: " Then%><%=Request.Querystring("rubrik")%><%Else%>Svar: <%=Request.Querystring("rubrik")%><%End If%>"></font><b><font face="Verdana" size="2">&nbsp; </font></b></nobr></td>

</tr>

<input type="hidden" name="id" value="<% =Request.QueryString("id") %>">

<tr>

<td height="19" valign="top" colspan="1"> <font face="Verdana" size="2"> <b>Inlägg:</b><br>

<textarea name="inlagg" cols="80" rows="10"></textarea>

</font>

;

</td>

</tr>

<tr>

<td><font face="Verdana" size="2"><input type="submit" value="Posta svar"></font></td>

</tr>

</form>

</table>

 

 

<font face="verdana" size="2">

<% Else

Response.Write "Du måste vara inloggad för att skriva i forumet."

 

End If

%></font>

 

<%End If%>

 

<% If Request.QueryString("laggtill") = "ja" Then

Rubrik = Request.Form("Rubrik")

Inlagg = FixaTecken(Request.Form("inlagg"))

Namn = Request.Form("namn")

Email = Request.Form("email")

SvarsId = Request.QueryString("id")

If Request.QueryString("id") = "" Then

Conn.Execute("Insert Into forum(Rubrik, Inlagg, Namn, Email) Values('"& Rubrik &"','"& Inlagg &"','"& Session("userFullName") &"','"& Session("userEmail") &"')")

Response.Redirect "forum.asp"

Else

Conn.Execute("Insert Into forum(Rubrik, Inlagg, Namn, Email, SvarsId) Values('"& Rubrik &"','"& Inlagg &"','"& Session("userFullName") &"','"& Session("userEmail") &"','"& SvarsId &"')")

Conn.Execute("UPDATE forum SET senast=now WHERE id=" & SvarsId)

If SvarsId <> 0 Then

Conn.Execute("UPDATE forum SET Svar=Svar+1 WHERE id=" & SvarsId)

End If

Response.Redirect "forum.asp?visa=las&id=" &Request.QueryString("id") & "&rubrik=" &Request.Form("rubrik")

End If

End If

If Request.QueryString("visa") = "sok" Then%>

<!-- #include file="sok.asp" -->

<%

'Stäng databaskopplingen

Conn.Close

Set Conn = Nothing

End If

%>

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...