Är det någon som har koll på hur jag ska göra för att andvända denna ---> http://www.u229.no/stuff/Captcha/ i en gästbok??? En god idé är att läsa i koden :) Jag har försökt med att ändra det du sa men jag jag tror inte jag gjorde rätt? ett fel blir att själva inläggen inte sparas ... Lägger upp min gästbok kod Okej, nu funkar det i alla fall men nu får man bara felmeddelandet "du fyllde i fel kod" Jag försöker också få igång samma script men får det inte att funka. Lust att ge en hjälpande hand till mig med ?Spam-filter
Sv: Spam-filter
1. Ladda ner asp-filen
2. Ladda upp den där den skall ligga
3. Inkludera den i gästboken mha include file="captcha.asp"
4. Plantera följande kod i FORM där man fyller i gästboksinlägget:
<%Response.Write CreateCAPTCHA%>
<input type="text" name="CaptchaBox" />
5. Innan datan läggs in i databasen kollar du först om "svaret" är korrekt;
If UCase(Request.Form(NAME_OF_CAPTCHA_TEXTBOX)) = UCase(Session("CAPTCHA")) Then
'lägg in text i databas
else
'felkod eller annat
end if
PS. om du endast vill ha en typ av fråga kan du bestämma det genom att ändra på rad 277;
sJScript = sJScript & "<p><b>" & m_arrQuestions(m_lngQuestionIndex) & "</b></p>" & vbCrLf
där lngQuestionIndex ändras till 0-3 (se rader 96-99 för frågtyper )Sv:Spam-filter
<!--#include virtual="/cdp/Captcha.asp"-->
<% Session.lcid = 1053
Response.Buffer = true
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/gastbok.mdb")
IF Request("do") = "add" Then
Dim namn, epost, hemsid, inlagg, ip, sida, allt, hemsida
namn = Request("namn")
epost = Request("epost")
hemsid = Request("hemsida")
inlagg = Request("inlagg")
ip = Request.ServerVariables("REMOTE_ADDR")
sida = Request.ServerVariables("SCRIPT_NAME")
allt = namn & "$|$" & epost & "$|$" & hemsid & "$|$" & inlagg
IF Len(hemsid) <> 0 then
IF Left(hemsid,7) = "http://" then
hemsida = hemsid
ElSE
hemsida = "http://"& hemsid
END IF
END IF
IF Len(namn) = 0 then
Session("min_gb_fel") = "Du glömde att fylla i ditt namn"
Session("uppg") = allt
Response.Redirect ""&sida&"#form"
ELSEIF Len(inlagg) = 0 then
Session("min_gb_fel") = "Du glömde att fylla i ett inlägg"
Session("uppg") = allt
Response.Redirect ""&sida&"#form"
END IF
SQL = "Insert Into gastbok (namn, hemsida, epost, inlagg, ip) Values('"& namn &"','"& hemsida &"','"&epost&"','"&inlagg&"','"&ip&"')"
Connect.Execute(SQL)
Session("min_gb_fel") = "Inlägget är nu sparat!"
Response.Redirect sida & "#form"
ELSE
Set RecSet = Server.CreateObject("ADODB.Recordset")
If Request("sida") = "" then
page = 1
Else
page = Request("sida")
End If
RecSet.CursorLocation = 3
RecSet.CacheSize = inlsid
SQL = "Select * From gastbok Order By id DESC"
RecSet.Open SQL, Connect, 3, 3
%>
<%
IF RecSet.Eof then
Response.Write "<tr><td><b><i>Inga inlägg i gästboken...</i></b><br><br></td></tr>"
ELSE
RecSet.MoveFirst
RecSet.PageSize = inlsid
TotalPages = RecSet.PageCount
RecSet.AbsolutePage = page
Count = 0
Do While Not RecSet.EOF And Count < RecSet.PageSize
%>
<%
text = server.htmlencode(RecSet("inlagg"))
Response.Write Replace(text,vbCrLf,"<br>")
svar = RecSet("svar")
IF Len(svar) <> 0 then
Response.Write "<br><br><b>SVAR:</b><br>"
Response.Write Replace(svar,vbCrlf,"<br>")
END IF
%>
<%
Response.Write "<strong>"
Response.Write Server.HTMLEncode(RecSet("namn")) & "<br></strong>"
strDatum = Left(RecSet("datum"),10)
Response.Write Replace(Replace(Cdate(strDatum),Date(),"Idag"),DateAdd("d", -1, Date),"Igår") & "<br> "
strEpost = RecSet("epost")
IF Len(strEpost) <> 0 then
Response.Write "<br>Epost"
luft = "ja"
END IF
strHemsida = RecSet("hemsida")
IF Len(strHemsida) <> 0 then
IF Left(strHemsida,7) = "http://" then
url = strHemsida
ELSE
url = "http://"& strHemsida
END IF
Response.Write "<br>Hemsida"
END IF
If luft = "ja" then
response.Write "<br> "
End If
%>
<%
Count = Count + 1
RecSet.MoveNext
Loop
END IF
RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing%>
<%IF totalPages > 1 then%>
<%
sidan = Request.ServerVariables("SCRIPT_NAME")
'## -- Bakåt-länk funktion
If (Int(Page)) <> 1 Then
Response.Write ""
Response.Write "« bakåt | "
ELSE
Response.Write "« Bakåt | "
END IF
'## -- Skriver ut alla sidnumrena
For Pages = 1 To TotalPages
If (Int(Pages)) = (Int(Page)) Then
Response.Write "" & Pages & " "
ELSE
Response.Write ""
Response.Write "" & Pages & " "
END IF
Next
'## -- Framåt-länk funktion
If (Int(Page)) <> (Int(TotalPages)) Then
Response.Write "| "
Response.Write "Framåt »"
ELSE
Response.Write "| Framåt »"
END IF%>
<%END IF%>
<tr>
<%
IF Len(Session("uppg")) <> 0 then
myArray = split(Session("uppg"),"$|$")
namn = myArray(0)
epost = myArray(1)
hemsida = myArray(2)
inlagg = myArray(3)
Session("uppg") = ""
END IF
%>
<td class="text"><p align="center"> </p>
<p><strong>Skriv i gästboken<a name="form"></a></strong></p></td>
</tr>
<tr>
<td><form name="form1" method="post" action="<%=Request.ServerVariables("SCRIPT_NAME")%>?do=add">
<table border="0" cellpadding="1" cellspacing="1">
<tr>
<td class="text">Namn:</td>
<td> <span class="text">
<input name="namn" type="text" id="namn5" value="<%=namn%>" class="text" style="border: #CCCC99 1px solid">
</span></td>
</tr>
<tr>
<td class="text">E-post:</td>
<td> <span class="text">
<input name="epost" type="text" id="epost" value="<%=epost%>" class="text" style="border: #CCCC99 1px solid">
</span></td>
</tr>
<tr>
<td class="text">Hemsida: </td>
<td> <span class="text">
<input name="hemsida" type="text" id="hemsida" value="<%=hemsida%>" class="text" style="border: #CCCC99 1px solid">
</span></td>
</tr>
<tr>
<td valign="top" class="text">Inlägg:</td>
<td> <span class="text">
<textarea name="inlagg" cols="35" rows="7" wrap="VIRTUAL" id="inlagg" class="text" style="border: #CCCC99 1px solid"><%=inlagg%></textarea>
</span></td>
<%Response.Write CreateCAPTCHA%>
<input type="text" name="CaptchaBox" />
</tr>
<%IF Len(Session("min_gb_fel")) <> 0 then%>
<tr>
<td valign="top"> </td>
<td> <span class="text">
<%Response.Write "<i>"&Session("min_gb_fel")&"</i>"%>
</span></td>
</tr>
<%
Session("min_gb_fel") = ""
END IF
%>
<%IF UCase(Request.Form(NAME_OF_CAPTCHA_TEXTBOX)) = UCase(Session("CAPTCHA")) Then
'lägg in text i databas
else
'felkod eller annat
END IF
%>
<tr>
<td valign="top"> </td>
<td class="text"> <span class="text">
<input name="Skicka2" type="submit" class="text" style="border: #CCCC99 1px solid" value="Skicka">
</span></td>
</tr>
</table>
</form></td>
</tr>
<tr>
<td height="13" class="text"> Logga
in</td>
</tr>
<%IF TotalPages > 1 Then%>
<%End If%>
</table>
<p><span class="text">
<%END IF%>
Sv: Spam-filter
Läser du inte vad jag skriver i koden?
<%IF UCase(Request.Form(NAME_OF_CAPTCHA_TEXTBOX)) = UCase(Session("CAPTCHA")) Then
'lägg in text i databas
'DVS
SQL = "Insert Into gastbok (namn, hemsida, epost, inlagg, ip) Values('"& namn &"','"& hemsida &"','"&epost&"','"&inlagg&"','"&ip&"')"
Connect.Execute(SQL)
Session("min_gb_fel") = "Inlägget är nu sparat!"
Response.Redirect sida & "#form"
else
Session("min_gb_fel") = "Du fyllde i fel kod"
Session("uppg") = allt
Response.Redirect ""&sida&"#form"
END IF
%>
Skall ersätta
SQL = "Insert Into gastbok (namn, hemsida, epost, inlagg, ip) Values('"& namn &"','"& hemsida &"','"&epost&"','"&inlagg&"','"&ip&"')"
Connect.Execute(SQL)
Session("min_gb_fel") = "Inlägget är nu sparat!"
Response.Redirect sida & "#form"
Sv:Spam-filter
Sv:Spam-filter
Tacksam för svar /Jonas