webForumDet fria alternativet

Problem med "förhindra-multipostningskod"

ASP

5 svar · 223 visningar · startad av trexter.com

Medlem sedan apr. 20021 203 inlägg
Frågan#1

Rädd att jag måste be om hjälp på WF än en gång...

Jag fiskade upp en bit kod här på webforum, för att förhindra multipostning (tryckt flera ggr. på skicka-knappen) i min gästbok, genom sessioner:

	If Session("Postat")="" Then 
	Session("Postat")="Japp" 
	Insert into bla bla 
	End If

Denna vill jag sedan sätta in i det "riktiga" dokumentet men jag får det inte att fungera. Det som händer är att ingenting postas, även om besökaren inte tryckt på knappen flera ggr!

<% Response.Buffer = TRUE %>
<html>
<!-- #include file="adovbs.inc" -->
<%
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trexter\databas\main.mdb" 
	
	
	Set RecSet = Server.CreateObject("ADODB.Recordset")

   Addera = "SELECT * FROM gastbok"

   RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew
Recset("namn") = Request.Form("namn")
Recset("betyg") = Request.Form("betyg")
Recset("email") = Request.Form("email")
Recset("hemsida") = Request.Form("hemsida")
Recset("hemsida_namn") = Request.Form("hemsida_namn")
Recset("meddelande") = Request.Form("meddelande")
Recset("ipnummer") = Request.ServerVariables("REMOTE_ADDR") 

	RecSet.Update
	RecSet.Close
	Connect.Close
Response.Redirect "http://www.trexter.com/gastbok/"
%> 
</HTML>
Medlem sedan apr. 20021 203 inlägg
#2

never min, klarade det själv.*stolt*

:h

Medlem sedan okt. 20005 273 inlägg
#3

Då säger du självklart hur du gjorde så andra kan lära sig :)

Medlem sedan apr. 20021 203 inlägg
#4

Ursprungligen av icaaq Då säger du självklart hur du gjorde så andra kan lära sig :)

Självklart! :)

<% Response.Buffer = TRUE %>
<html>
<!-- #include file="adovbs.inc" -->
<%
[b]	If Session("Postat")="" Then 
	Session("Postat")="Japp"[/b]
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trexter\databas\main.mdb" 
	
	
	Set RecSet = Server.CreateObject("ADODB.Recordset")

   Addera = "SELECT * FROM gastbok"

   RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew
Recset("namn") = Request.Form("namn")
Recset("betyg") = Request.Form("betyg")
Recset("email") = Request.Form("email")
Recset("hemsida") = Request.Form("hemsida")
Recset("hemsida_namn") = Request.Form("hemsida_namn")
Recset("meddelande") = Request.Form("meddelande")
Recset("ipnummer") = Request.ServerVariables("REMOTE_ADDR") 

	RecSet.Update
	RecSet.Close
	Connect.Close
[b]	End If [/b]
Response.Redirect "http://www.trexter.com/gastbok/"
%> 
</HTML>
Medlem sedan okt. 20005 273 inlägg
#5

Men detta betyder att man bara kan posta ett inlägg, och sen måste man ifrån siten så att sessionen försvinner.

Testa att lägga in ett Now() värde när man skriver i gästboken, sen kan du kolla nått spnt här

[red]If Session("Postat")="" OR Session("Postat") > DateAdd("S", 30,Now()) Then 
	Session("Postat")=Now()
	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\trexter\databas\main.mdb" 
	
	
	Set RecSet = Server.CreateObject("ADODB.Recordset")

   Addera = "SELECT * FROM gastbok"

   RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew
Recset("namn") = Request.Form("namn")
Recset("betyg") = Request.Form("betyg")
Recset("email") = Request.Form("email")
Recset("hemsida") = Request.Form("hemsida")
Recset("hemsida_namn") = Request.Form("hemsida_namn")
Recset("meddelande") = Request.Form("meddelande")
Recset("ipnummer") = Request.ServerVariables("REMOTE_ADDR") 

	RecSet.Update
	RecSet.Close
	Connect.Close
	Else
Response.Write "Du har alldeles nyss postat ett inlägg!"
End If [/red]

Detta är en helt otestad kod men du kanske fattar galopen :)

Medlem sedan apr. 20021 203 inlägg
#6

Sant, men på sidan som man redirectas till så brytar jag alla sessioner med:
session.abandon

252 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)