webForumDet fria alternativet

pagingproblem

21 svar · 954 visningar · startad av kaxigt

kaxigtMedlem sedan okt. 2004636 inlägg
#1

Jag får upp denna felkod:

Expected statement
index.asp, line 183

*## -- kontrollera så att inte intPage variabeln är tom --
^

Var, och vilken siffra ska jag lägga in? Jag håller på att skapa en paging så man kan bläddra i gästboken. Skriptet jag har är liite struligt. Nån som har tid att hjälpa? Jag lägger till koderna jag tror behövs för att hjälpa. Det blir mycket kod :p

I indexdok:

<%
Function Censur(strText,strWord)
strText = strText & " "
strWord = Replace(strWord,".","\.")
strSplit = split(strWord,",")
strPattern = "("
for i = 0 to ubound(strSplit)
if i <> ubound(strSplit) then
strPattern = strPattern & strSplit(i) & "|"
else
strPattern = strPattern & strSplit(i)
end if
if i = ubound(strSplit) then
strPattern = strPattern & ").*?[\s]"
end if
next
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = strPattern

		strText = objRegExp.Replace(strText,"**** ")
		
	Set objRegExp = Nothing
	Censur = left(strText,(len(strText)-1))
End Function
%>

<%
bannip = false
set rsbann = connect.execute("select ip from ip")
Do While Not rsbann.EOF
if Request.ServerVariables("REMOTE_ADDR") = rsbann("ip") then
bannip = true
end if
rsbann.movenext
Loop
if bannip = true then
Response.Redirect("banned.asp")
else
end if
%>

<%
Response.buffer=True

select case request("action")

case ""
%>

<%

Set rsvisa = Server.CreateObject("ADODB.Recordset") 
SQL = "select * from gastbok order by datum desc" 
rsvisa.Open SQL, Connect, 3,3 
'Number of messages to show per page/ Antal meddelande per sida
rsvisa.pagesize = 20
page = Request.QueryString("page") 

If page = "" then page = 1 

if rsvisa.EOF then 
Response.write noguests
Else 

rsvisa.AbsolutePage = page 
totalPages = rsvisa.PageCount 

Do until rsvisa.EOF or fldcounter = rsvisa.pagesize 

If strBGColor = "#ffffff" then strBGColor = "#f2f2f2" else strBGColor = "#ffffff"
fldcounter = fldcounter + 1

%>
<div class="comment1">
<p class="com3"><%= author %>:
<% = rsvisa("namn") %>
 &nbsp; <% = rsvisa("datum") %><br /><%  if rsvisa("status") = "private" then 
%>
<%= privatemess2 %><% else
 %></p>
</div>
<div class="comment2"><p class="com">
<% = rsvisa("meddelande") %> <br /><% end if
 %>
  <%  if rsvisa("answer") > "" then 
 %></p>
</div> 
<div class="comment3">
<p class="com2"><span class="bla"><%= answer %></span><br /><br /> <%= rsvisa("answer") %>
<%   else
 end if%></p>
<p class="com">
 E-mail: <a href="mailto:<% = rsvisa("email") %>"> 
      <% = rsvisa("email") %>
      </a> <br />
      <%= Homepage %>:<a href="<% = rsvisa("url") %>" target="_blank"> 
      <% = rsvisa("url") %></a><br />
    IP: <% = rsvisa("ip") %>
</p>
</div>
<%

rsvisa.movenext
loop
End If%>
<p>
      <%
i = 0 
For i = 1 to rsvisa.PageCount 

If (Int(i)) = (Int(page)) then 
Response.write "<b>"& i &"</b> &nbsp;" 
Else 
Response.write "<a href=""index.asp?page="& i &">"& i &"""</a> &nbsp;" 
End If 
Next 

If page = 1 then 
Response.write "<a href=""index.asp?page=" & page + 1 &"""></a>" 

ElseIf (Int(totalPages)) = (Int(page)) then 
Response.write "<a href=""index.asp?page=" & page - 1 &"""></a>" 

Else 
Response.write "<a href=""index.asp?page=" & page - 1 &"""></a>" 
Response.write "<a href=""index.asp?page=" & page + 1 &"""></a>" 
End If 
%>
</p>
<%
rsvisa.close
set rsvisa=nothing 

case "addpost"
if request.form("namn") > "" and request.form("meddelande") > "" then

strnamn=CStr(request.form("namn"))
strurl=CStr(request.form("url"))
stremail=Cstr(request.form("email"))
strMeddelande=Cstr(request.form("meddelande"))
strprivate=Cstr(request.form("private"))
strDatum=Cstr(request.form("datum"))
strip=Request.ServerVariables("REMOTE_ADDR")

strMeddelande=Replace(strMeddelande,"[:)]","<img src='images/glad.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[:(]","<img src='images/ledsen.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[:V]","<img src='images/arg.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[;)]","<img src='images/ironi.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[:D]","<img src='images/skratt.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[:O]","<img src='images/oops.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[:V:]","<img src='images/sur.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"[8D]","<img src='images/cool.gif alt=""' />")
strMeddelande=Replace(strMeddelande,"'","''")
strMeddelande=Replace(strMeddelande,chr(10),"<br />")
set rsword = connect.execute("select word from word")
Do While Not rsword.EOF
strMeddelande=Censur(strmeddelande,rsword("word"))
rsword.movenext
Loop

strRubrik=Replace(strRubrik,"'","''")
connect.execute ("insert into gastbok (namn, ip, url, email, meddelande, status) values('" & strnamn & "','" & strip & "','" & strurl & "','" & stremail & "','" & strMeddelande & "','" & strprivate & "')")
response.redirect("index.asp")
else 
response.write(postcheck)
end if
end select
%>

Pagingen

<%
Function Censur(strText,strWord)
strText = strText & " "
strWord = Replace(strWord,".","\.")
strSplit = split(strWord,",")
strPattern = "("
for i = 0 to ubound(strSplit)
if i <> ubound(strSplit) then
strPattern = strPattern & strSplit(i) & "|"
else
strPattern = strPattern & strSplit(i)
end if
if i = ubound(strSplit) then
strPattern = strPattern & ").*?[\s]"
end if
next
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = strPattern

		strText = objRegExp.Replace(strText,"**** ")
		
	Set objRegExp = Nothing
	Censur = left(strText,(len(strText)-1))
End Function
%>

<%
bannip = false
set rsbann = connect.execute("select ip from ip")
Do While Not rsbann.EOF
if Request.ServerVariables("REMOTE_ADDR") = rsbann("ip") then
bannip = true
end if
rsbann.movenext
Loop
if bannip = true then
Response.Redirect("banned.asp")
else
end if
%>

<%
Response.buffer=True

select case request("action")

case ""
%>
<%
'## -- skapa connection object och öppna databasen --
Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open "DSN"

'## -- hur många poster ska visas per sida --
intPageSize = 10 '## -- byt ut till hur många poster du vill ska visas per sida --

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")

*## -- kontrollera så att inte intPage variabeln är tom --
If intPage = "" Then intPage = 1 '## -- visa första sidan som default --

'## -- sql-fråga för att hämta data från databasen --
strSQL = "SELECT fld_news_id, fld_news_header, fld_news_body FROM tbl_news ORDER BY fld_news_date DESC" 

'## -- skapa och öppna recordsetet --
Set objRS = Server.CreateObject("ADODB.Recordset")
    With objRS
        .ActiveConnection = objConn
        .Source = strSQL

        '## -- bestämmer hur många poster som varje sida ska bestå av i recordsetet --
        .PageSize = intPageSize
        .CursorType = 3
        .LockType = 1
        .Open
    End Wit

    '## -- kontrollera om några poster har returnerats eller inte --
    If Not objRS.EOF Then
        '## -- poster har returnerats --

        '## -- visa rätt sida i recordsetet --
        objRS.AbsolutePage = intPage

        '## -- hur många sidor består recordsetet av --
        intTotalPages = objRS.PageCount

        '## -- visa sidnavigeringen --
        Call PageNavigation(intPage, intTotalPages)

        '## -- loopa igenom recordsetet och visa posterna för besökaren/användaren --
        Do Until objRS.EOF OR intCounter >= intPageSize
            intCounter = intCounter + 1

            '## -- printa ut informationen till besökare/användaren -- 
        
            objRS.MoveNext
        Loop
    Else
        '## -- inga poster returnerades --
        '## -- visa meddelande att inga poster hittades för användaren --
    End If

    '## -- rensa up --
    objRS.Close
Set objRS = Nothing

    objConn.Close
Set objconn = Nothing

        '## -- visa sidnavigeringen --
        Call PageNavigation(intPage, intTotalPages)

'## -- include filen nedan innehåller själva subrutinen för sidnavigeringen --
%>

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

Och inc_pagingFunction.asp

<%
Sub PageNavigation(ByVal Page, TotalPages) ...
Sub PageNavigation(ByVal Page, TotalPages)
    Dim strScriptName

    '## -- denna sidas namn --
    strScriptName = Request.ServerVariables("SCRIPT_NAME")

    '## -- länk till föregående sida --
    '## -- kontrollera att det inte är första sidan som visas --
    If CInt(Page) > 1 Then
         '## -- inte första sidan som visas så gör en länk --
        Response.Write "<A href=""" & strScriptName & "?page=" & Page - 1 & """><< Föregående</A> "
    Else
        '## -- det är första sidan som ska visas. gör ingen länk --
        Response.Write "<< Föregående "
    End If

    '## -- bygg upp själva pagebaren, dvs varje sidnummer ska ha en länk
    '## -- så att besökaren snabbt kan ta sig till rätt sida --
    For N = 1 To CInt(TotalPages)
        If N <> CInt(Page) Then
            '## -- ej aktuell sida, länka --
            Response.Write "<A href=""" & strScriptName & "?page=" & N & """>" & N & "</A> "
        Else
            '## -- aktuell sida, länka ej -- 
            Response.Write "<B>" & N & "<B> "
        End If
    Next

    '## -- länk till nästa sida. om vi står på sista sidan ska den ej vara länkad --
    If CInt(Page) < CInt(TotalPages) Then
        '## -- vi är inte på sista sidan --
        Response.Write "<A href=""" & strScriptName & "?page=" & Page + 1 & """>Nästa >></A>"
    Else
        '## -- vi är på sista sidan. länka ej --
        Response.Write "Nästa >>"
    End If

End Sub
%>
kaxigtMedlem sedan okt. 2004636 inlägg
#2

Tackar på förhand...

...för Er hjälp. Fick inte plats med det detta pga för många tecken ;)
TACK!

mvh/Lena

ObbelixMedlem sedan okt. 2002257 inlägg
#3

Börja med att byta ut * (stjärnan) mot ' (enkelfnutt) så det blir lika som de övriga som börjar med '## och se om det hjälper.

kaxigtMedlem sedan okt. 2004636 inlägg
#4

Hej,

Jo jag har testat det och då kommer nästa error, det fattas ett h på with längre ned. När jag stoppade dit H:et så kommer detta felmeddelande upp:

loop' without 'do'

Det handlar om denna kod:
<%
rsvisa.movenext
loop
End If%>

Blir gråhårig snart *morrar*

@ndersMedlem sedan juni 200032 969 inlägg
#5

Hmm, jag kan inte direkt se varför du får felmeddelandet, men, lite grundläggande tips för den koden du postade:

  1. Indentera koden ordentligt, så är det lättare att hitta fel som detta.
  2. Istället för att loopa igenom ett helt recordset för att kolla om en ip-adress finns med, ställ villkoret direkt i SQL-frågan.
  3. Du behöver inte ha else på alla if-satser. Ska du inte utföra något i else, utelämna det då. Vidare kan du, om du bara skall göra en sak, lägga hela if-satsen på en rad. Då slipper du också använda end if.
  4. Det är onödigt att ha en massa contextswitchar (<% %>) mellan dina olika kodblock.

Framför allt punkt 1 hjälper dig i detta fall. En välindenterad kod är ofta lätt att hitta felen i, om felen är av typen "loop without do" / "unexpected end" eller liknande.

mvh

CatZMedlem sedan jan. 20022 440 inlägg
#6

Vad får du för felmeddelande och på vilken rad? kan du markera raden som är fel i fet stil eller bifoga bara den delen som är fel och markera raden som är fel med fet stil? Det var fruktansvärt mycket kod att läsa igenom. En bra grej att tänka på när man postar här är att bara skicka med den delen/funktionen av koden som genererar ett felmeddelande. Det blir då mycket enklare för oss att hjälpa dig felsöka.

En liten sak också, det är inte helt fel som du har gjort, själv så blir jag tokig på alla växlingar mellan html och asp läge. Jag tycker det blir lättare att hitta om jag gör som följer:

Do until rsvisa.EOF or fldcounter = rsvisa.pagesize 

	if strBGColor = "#ffffff" then strBGColor = "#f2f2f2" else strBGColor = "#ffffff"
	fldcounter = fldcounter + 1	
		
	Response.Write "<div class=""comment1"">" & _
		"<p class=""com3"">" & author & ":" & rsvisa("namn") & "&nbsp;" & rsvisa("datum") & "<br />"
		
		if rsvisa("status") = "private" then 
			Response.Write privatemess2 
		else 
			Response.Write "</p>" & _
			"</div>" & _
			"<div class=""comment2""><p class=""com"">" & _
				rsvisa("meddelande") &  "<br />"
		end if
		if rsvisa("answer") > "" then 
			Response.Write "</p>" & _
			"</div>" & _
			"<div class=""comment3"">" & _
				"<p class=""com2""><span class=""bla"">" & answer & "</span><br /><br />" & rsvisa("answer")
		else
		end if
kaxigtMedlem sedan okt. 2004636 inlägg
#7

det som blev fel var denna rad 183:

*## -- kontrollera så att inte intPage variabeln är tom --

If intPage = "" Then intPage = 1 '## -- visa första sidan som default --

Jag tog bort stjärnan och detta error kom upp

loop' without 'do'

<% 
rsvisa.movenext
loop
End If%>

Jag vet att koderna är struliga, och att det är mycket htmlkod i beror på att jag har skrivit om hela sidan till divar istället för tabellerna de låg i. @nders hade några synpunkter - det enda jag vill ha är en enkel kod med paging som inte strular. Jag har ändrat lite efter felmeddelandena och det visar sig då att strängen som ska öppna databasen inte är ekvivalent med '## -- skapa connection object och öppna databasen --
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN"
eftersom jag får upp att den antingen är stängd eller inte finns :(

Däremot verkar recordset att fungera om jag byter de befintliga koderna i mitt script mot pagingen. Sedan vill gärna detta felmeddelande synas:
inc_pagingFunction.asp, line 2
Sub PageNavigation(ByVal Page, TotalPages) ...

*suckar*
Tack för att Ni tar er tid

@ndersMedlem sedan juni 200032 969 inlägg
#8

Ta bort raden med punkterna efter i paging-includefilen.
Har du skapat en dsn? provat att byta till en vanlig connectionstring, oledb till exempel.

Och var hittade du detta pagingscript? Det är helt ofattbart vad mycket usla och inkompletta script man kan få tag på. :-(

kaxigtMedlem sedan okt. 2004636 inlägg
#9

Jag hittade pagingen på pellesoft...syns vara omtyckt på nätet. Å en annan som inte är lika haj på asp litade naturligtvis på responsen :(

Och JA - jag reagerade på de dubbla raderna, ffa den med punkterna så jag h a r faktiskt testat utan, men då var det nåt annat som strulade. Jag har INTE skapat en dsn så jag har testat med att byta det till nåt annat, dock inte oledb. Ska testa.

Kan du berätta för mig vad som uselt i scriptet så jag kan lära mig? Ta det gärna via imail :)

//Lena

@ndersMedlem sedan juni 200032 969 inlägg
#10

Kan du berätta för mig vad som uselt i scriptet så jag kan lära mig?

Framför allt att det inte fungerar. Om man lägger upp en artikel med ett script så tycker jag att det är självklart att man ser till så det inte är en massa typos i koden, eftersom de som skall använda det ofta inte har samma kunskaper som en själv att se vad som är fel. Att det är en asterisk istället för apostrof för att inleda en kommentar, det saknade h:et i with, raddubbleringen i paging-funktionen.

Pellesoft-prylarna brukar vara rätt bra, så det är säkert bara misstag...

Det verkar dock som att det egentligen bara är * som är fel i det scriptet (åtminstone om jag kollar på http://www.pellesoft.se/area/articles/article.aspx?artid=726, raddubbleringen verkar vara ett copy/paste-fel, för det finns inte med där. Däremot finns den raden istället för själva subrutinen om man "kollapsar" subrutinen med minus-ikonen...

Jag har INTE skapat en dsn

Koden förutsätter att du har det. Byt till den connectionstring du använde innan du kopplade på pagingscriptet.

mvh

kaxigtMedlem sedan okt. 2004636 inlägg
#11

"Byt till den connectionstring du använde innan du kopplade på pagingscriptet"

Det är denna i såfall, någon annan hittar jag inte och det har jag redan testat men jag vet att jag gör fel för det funkar ändå inte. All ursprunglig kod finns i idexdok som jag kopierade in i första meddelandet. Du kan kika där om jag har missat nåt - mitt nöt!!! Ska jag då inte också ta bort connectionstring "dsn" i pagingscriptet om jag behåller det ursprungliga?

Set rsvisa = Server.CreateObject("ADODB.Recordset") 
SQL = "select * from gastbok order by datum desc" 
rsvisa.Open SQL, Connect, 3,3

Kanske att jag tar med för mycket/lite av koden?

Men om vi ska förenkla saken totalt, mellan vilka koder i indexdoc ska jag lägga in pagingscriptet? Hur mycket av scriptet ska tas bort för att det ska funka med mitt andra script?
Kan du skriva ut det så kan jag fortsätta att testa vore vääääldigt taxam.

Hyvens :birp

kaxigtMedlem sedan okt. 2004636 inlägg
#12

kaxigt skrev:

"Byt till den connectionstring du använde innan du kopplade på pagingscriptet"

Det är denna i såfall, någon annan hittar jag inte och det har jag redan testat men jag vet att jag gör fel för det funkar ändå inte. All ursprunglig kod finns i idexdok som jag kopierade in i första meddelandet. Du kan kika där om jag har missat nåt - mitt nöt!!! Ska jag då inte också ta bort connectionstring "dsn" i pagingscriptet om jag behåller det ursprungliga?

Set rsvisa = Server.CreateObject("ADODB.Recordset") 
SQL = "select * from gastbok order by datum desc" 
rsvisa.Open SQL, Connect, 3,3

Kanske att jag tar med för mycket/lite av koden?

Men om vi ska förenkla saken totalt, mellan vilka koder i indexdoc ska jag lägga in pagingscriptet? Hur mycket av scriptet ska tas bort för att det ska funka med mitt andra script?
Kan du skriva ut det så kan jag fortsätta att testa vore vääääldigt taxam.

Hyvens :birp

ps, går det koppla till en kod som räknar varje inlägg så man kan se det?

CatZMedlem sedan jan. 20022 440 inlägg
#13

En connectionstring är en sträng du använder för att ansluta till din databas, du har ju ingen :)

Det snabelanders menar är att du byter från dsn till något som nedan

Dim objConn

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

objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("\") & "\databas.mdb"

Det enda du behöver göra för att räkna inlägg i gästboken är något som:

Set objRS = objConn.Execute("SELECT (COUNT(*) AS antaliGB) FROM tblGB")

Dim intAntal
If not objRS.EOF Then
    intAntal = CInt(objRS("antaliGB"))
    Response.Write "Gästboken innehåller " & intAntal & " inlägg!"
End If

Allting helt otestat givetvis du får labba ihop det själv :)

kaxigtMedlem sedan okt. 2004636 inlägg
#14

Jo det finns en connectingstring eftersom skriptet funkar om jag inte använder pagingen - det är denna som används (inc_settings) som en includefile:

<% 
Response.buffer=True
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db.mdb") 
%>

Kanske att jag ska byta den filen mot att jag länkar in inc_pagingfunction.asp istället?

Det jag menar att det vid varje post i gästboken skall stå en siffra - typ 5 om det är det femte inlägget.

kaxigtMedlem sedan okt. 2004636 inlägg
#15

Har testat att labba utan framgång :(

SH*T också...

CatZMedlem sedan jan. 20022 440 inlägg
#16

Det enda du behöver göra då är att byta ut alla objConn mot Connect

Ditt namn på anslutningen till databasen är Connect och pellesofts anslutning till databasen är objConn, om du byter pellesofts alla objConn mot ditt egna Connect så ska du se att det går bra.

kaxigtMedlem sedan okt. 2004636 inlägg
#17

Ska testa
Tack :)

kaxigtMedlem sedan okt. 2004636 inlägg
#18

Nu har jag testat i all oändlighet och kommit fram till att jag inte kan få det urspungliga scriptet att fungera tillsammans med pagingen. Hur jag än ändrar så kommer det upp en massa errors skittrist!!!! :(

doggelitoMedlem sedan juni 20003 076 inlägg
#19

Lugn å fin bara! :)
Ta ett fel i taget: Vad får du för felmess och hur ser raden ut?

(om du ändrat en del i koden från ditt första inlägg så kandet vara på plats att bifoga koden igen!)

CatZMedlem sedan jan. 20022 440 inlägg
#20

Lösningen ska väl postas här också trots att vi skötte det utanför webforum. Jag testade på min maskin och det ska fungera.

Först har vi inc_settings.asp

<!--#include file="lang_se.asp" -->
<% 
Response.buffer=True
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("db.mdb") 
%>

Sedan index.asp

<!--#include file="inc_settings.asp" -->
<%
Function Censur(strText,strWord)
	strText = strText & " "
	strWord = Replace(strWord,".","\.")
	strSplit = split(strWord,",")
	strPattern = "("
	
	for i = 0 to ubound(strSplit)
		if i <> ubound(strSplit) then
			strPattern = strPattern & strSplit(i) & "|"
		else
			strPattern = strPattern & strSplit(i)
		end if
		if i = ubound(strSplit) then
			strPattern = strPattern & ").*?[\s]"
		end if
	next
	
	Set objRegExp = New RegExp
		objRegExp.Global = True
		objRegExp.IgnoreCase = true
		objRegExp.Pattern = strPattern

		strText = objRegExp.Replace(strText,"**** ")
		
	Set objRegExp = Nothing
	Censur = left(strText,(len(strText)-1))
End Function

bannip = false
set rsbann = connect.execute("select ip from ip")

Do While Not rsbann.EOF
	if Request.ServerVariables("REMOTE_ADDR") = rsbann("ip") then
		bannip = true
	end if
rsbann.movenext
Loop

if bannip = true then
	Response.Redirect("banned.asp")
end if

Response.buffer=True

select case request("action")

	case ""
	
	Response.Write "<h3>Lämna en kommentar</h3>" & vbCrLf
	Response.Write "<div id=""kommentar"">" & vbCrLf
	Response.Write vbTab & "<div class=""news2"">" & vbCrLf
	Response.Write vbTab & "<form name=""write"" method=""post"" action=""index.asp?action=addpost"" />" & vbCrLf
	Response.Write vbTab & "<fieldset>" & vbCrLf
	Response.Write vbTab & vbTab & "<legend>" & Guestbook & "</legend>" & vbCrLf
	
	'Name
	Response.Write vbTab & vbTab & "<label>" & yourname & ": <span class=""date""> <strong>*</strong></span></label>" & vbCrLf
	Response.Write vbTab & vbTab & "<input type=""text"" name=""namn"" size=""40"" class=""input1"" /><br />" & vbCrLf
	
	'Email
	Response.Write vbTab & vbTab & "<label>" & email & ": <span class=""date""> <strong>*</strong></span></label>" & vbCrLf
	Response.Write vbTab & vbTab & "<input type=""text"" name=""email"" size=""38"" class=""input1"" /><br />" & vbCrLf
	
	'Homepage
	Response.Write vbTab & vbTab & "<label>" & homepage & ":</label>" & vbCrLf
	Response.Write vbTab & vbTab & "<input type=""text"" name=""url"" size=""40"" class=""input1"" value=""http://"" /><br />" & vbCrLf
	
	'Private Messaging
	Response.Write vbTab & vbTab & "<label>" & privatemess & ":</label>"
	Response.Write vbTab & vbTab & "<input type=""checkbox"" class=""goclear"" name=""private"" value=""private"" /><br />"  & vbCrLf
	
	'Message
	Response.Write vbTab & vbTab & "<label>" & Message & ":</label>" & vbCrLf
	Response.Write vbTab & vbTab & "<textarea name=""meddelande"" rows=""6"" cols=""25"" class=""textarea1""></textarea><br /><br />" & vbCrLf
	
	'Image
	Response.Write vbTab & vbTab & "<input type =""image"" class=""goclear"" name=""Submit"" src=""http://kaxigt.com/gb2/go.gif"" alt=""go"" title=""go"" value=""" & Post & """ /><br /><br />" & vbCrLf
	
	Response.Write vbTab & "</fieldset>" & vbCrLf
	Response.Write vbTab & "</div>"
	Response.Write "</div>"
	
	
	Response.Write "<h3>20 senaste kommentarerna</h3>"
	
	Set rsvisa = Server.CreateObject("ADODB.Recordset") 
	SQL = "select * from gastbok order by datum desc" 
	
	'Number of messages to show per page/ Antal meddelande per sida
	pagesize = 10
	page = Request.QueryString("page") 
	
	If page = "" then page = 1 

	'## -- sql-fråga för att hämta data från databasen --
	strSQL = "SELECT fld_news_id, fld_news_header, fld_news_body FROM tbl_news ORDER BY fld_news_date DESC" 

	'## -- skapa och öppna recordsetet --
	Set rsvisa = Server.CreateObject("ADODB.Recordset")
    With rsvisa
        .ActiveConnection = connect
        .Source = SQL

        '## -- bestämmer hur många poster som varje sida ska bestå av i recordsetet --
        .PageSize = pagesize
        .CursorType = 3
        .LockType = 1
        .Open
    End With
    '## -- kontrollera om några poster har returnerats eller inte --
    if rsvisa.EOF then 
		Response.write noguests
	Else 
		rsvisa.AbsolutePage = page 
		totalPages = rsvisa.PageCount 
		
		Do until rsvisa.EOF or fldcounter = rsvisa.pagesize 
		
			If strBGColor = "#ffffff" then strBGColor = "#f2f2f2" else strBGColor = "#ffffff"
			fldcounter = fldcounter + 1
			
			Response.Write "<div class=""comment1"">" & vbCrLf
			Response.Write vbTab & "<p class=""com3""><img src=""bilder/datum.gif"" alt=""bubbla på"" />&nbsp;" & author & " : "& rsvisa("namn") & "&nbsp;" & rsvisa("datum") & "<br />" & vbCrLf 
			
			if rsvisa("status") = "private" then 
				Response.Write privatemess2
			Else	
				Response.Write vbTab & "</p>" & vbCrLf 
				Response.Write "</div>" & vbCrLf 
				
				Response.Write "<div class=""comment2""><p class=""com"">" & vbCrLf 
				Response.Write vbTab & rsvisa("meddelande") & "<br />" & vbCrLf 
			end if
			
			if rsvisa("answer") <> "" then 
				response.Write vbTab & "</p>" & vbCrLf 
				response.Write "</div>" & vbCrLf 
				response.Write "<div class=""comment3"">" & vbCrLf 
				response.Write  vbTab & "<p class=""com2""><span class=""bla""><img src=""bilder/bubbla1.gif"" alt=""svar"" />&nbsp; " & answer & "</span><br /><br />" & rsvisa("answer")  & vbCrLf 
			end if
			Response.Write vbTab & "</p>" & vbCrLf 
			Response.Write vbTab & "<p class=""com"">" & vbCrLf 
			Response.Write vbTab & vbTab & "E-mail: <a href=""mailto:" & rsvisa("email") & """>" & rsvisa("email") & "  </a><br />"  & vbCrLf 
			Response.Write vbTab & vbTab & "Homepage :<a href=""" & rsvisa("url") & """ target=""_blank"">" & rsvisa("url") & "</a><br />" & vbCrLf 
			Response.Write vbTab & vbTab & "IP: " & rsvisa("ip") & vbCrLf
			Response.Write vbTab & "</p>"
			Response.Write "</div>"
		rsvisa.movenext
		loop
	End If
	
    '## -- visa sidnavigeringen --
     Call PageNavigation(page, totalPages)
	
	rsvisa.close
	set rsvisa=nothing 
%>

<!--#INCLUDE FILE="inc_pagingFunction.asp"-->

<%			

	case "addpost"
		if request.form("namn") > "" and request.form("meddelande") > "" then
			strnamn			= CStr(request.form("namn"))
			strurl			= CStr(request.form("url"))
			stremail		= Cstr(request.form("email"))
			strMeddelande	= Cstr(request.form("meddelande"))
			strprivate		= Cstr(request.form("private"))
			strDatum		= Cstr(request.form("datum"))
			strip			= Request.ServerVariables("REMOTE_ADDR")
			
			strMeddelande=Replace(strMeddelande,"[:)]","<img src='images/glad.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[:(]","<img src='images/ledsen.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[:V]","<img src='images/arg.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[;)]","<img src='images/ironi.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[:D]","<img src='images/skratt.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[:O]","<img src='images/oops.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[:V:]","<img src='images/sur.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"[8D]","<img src='images/cool.gif alt=""' />")
			strMeddelande=Replace(strMeddelande,"'","''")
			strMeddelande=Replace(strMeddelande,chr(10),"<br />")
			
			set rsword = connect.execute("select word from word")
			Do While Not rsword.EOF
				strMeddelande = Censur(strmeddelande,rsword("word"))
			rsword.movenext
			Loop
	
			strRubrik = Replace(strRubrik,"'","''")
			connect.execute ("insert into gastbok (namn, ip, url, email, meddelande, status) values('" & strnamn & "','" & strip & "','" & strurl & "','" & stremail & "','" & strMeddelande & "','" & strprivate & "')")
			response.redirect("index.asp")
		else 
			response.write(postcheck)
		end if
	end select
%>

sist men inte minst

<%
Sub PageNavigation(ByVal Page, TotalPages)
    Dim strScriptName

    '## -- denna sidas namn --
    strScriptName = Request.ServerVariables("SCRIPT_NAME")

    '## -- länk till föregående sida --
    '## -- kontrollera att det inte är första sidan som visas --
    If CInt(Page) > 1 Then
         '## -- inte första sidan som visas så gör en länk --
        Response.Write "<A href=""" & strScriptName & "?page=" & Page - 1 & """><< Föregående</A> "
    Else
        '## -- det är första sidan som ska visas. gör ingen länk --
        Response.Write "<< Föregående "
    End If

    '## -- bygg upp själva pagebaren, dvs varje sidnummer ska ha en länk
    '## -- så att besökaren snabbt kan ta sig till rätt sida --
    For N = 1 To CInt(TotalPages)
        If N <> CInt(Page) Then
            '## -- ej aktuell sida, länka --
            Response.Write "<A href=""" & strScriptName & "?page=" & N & """>" & N & "</A> "
        Else
            '## -- aktuell sida, länka ej -- 
            Response.Write "<B>" & N & "<B> "
        End If
    Next

    '## -- länk till nästa sida. om vi står på sista sidan ska den ej vara länkad --
    If CInt(Page) < CInt(TotalPages) Then
        '## -- vi är inte på sista sidan --
        Response.Write "<A href=""" & strScriptName & "?page=" & Page + 1 & """>Nästa >></A>"
    Else
        '## -- vi är på sista sidan. länka ej --
        Response.Write "Nästa >>"
    End If

End Sub
%>
153 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
150 ms — hämta tråd, inlägg och bilagor (db)