Avatar billede mrdj Nybegynder
26. august 2007 - 22:57 Der er 13 kommentarer og
1 løsning

Indtast følgende for at oprette indlæg

Hej

Jeg har en lille asp gæstebog på min hjemmeside, problemet er at den bliver spammet ret kraftigt. Der er krav om at indtaste navn, emailadresse samt naturligvis overskrift og indhold.

Det jeg så gerne vil have tilføjet er en funktion at man skal indtaste indholdet af nedenstående "billede" (6 tal/bogstaver eller lignende) f.eks for at oprette posten som set på mange andre hjemmesider.

Hvordan gøres/programmeres dette lige? Kan ikke rigtig finde noget herinde eller på andre sider.

På forhånd tak for hjælpen
Avatar billede trumf Nybegynder
26. august 2007 - 23:08 #1
ASP.NET har et glimrende billedbehandlingsobjekt (image) som kan lægge sådan en tekst/kode ind i et billede
Avatar billede trumf Nybegynder
26. august 2007 - 23:11 #2
Jeg har dog løst en tilsvarende problem med at lave et sessionsobjekt med et tidsstempel når folk kommer ind på siden og så sammenligne tiden fra tidsstemplet med den aktuelle tid når et indlæg gemmes.
Hvis der feks ikke er gået mere end et splitsekund så kan man roligt regne med at det er en bot der laver post'et til siden....
Avatar billede trumf Nybegynder
26. august 2007 - 23:13 #3
Dim spammer = false
If DateDiff("s", Session("userTimeStamp"), now()) < 2 Then
    spammer = true
End If
Avatar billede trumf Nybegynder
26. august 2007 - 23:14 #4
Det tager godt nok ikke alle, men nu kommer det kun et par stykker om dagen, hvor der før kom over 100...
Avatar billede mrdj Nybegynder
27. august 2007 - 09:25 #5
Hvor ligger jeg denne kode ind i min .asp fil ? bare oppe i starten eller ?

Jeg vil dog gerne stadig have et eksempel på den anden måde med billedet og den dynamisk kreerede tekst der skal indtastes inden indlæg oprettes. Håber det er muligt :-)
Avatar billede cpufan Juniormester
27. august 2007 - 09:51 #6
Avatar billede mrdj Nybegynder
27. august 2007 - 10:22 #7
Tak for skrevne link, nu har jeg så registreret mig derinde og hvordan får jeg så det til at virke? Beklager hvis jeg virker dum men er ikke særlig hardcore til ASP og at indbygge den slags moduler.
Avatar billede cpufan Juniormester
27. august 2007 - 12:11 #8
http://www.tipstricks.org/example.asp

denne er vist noget nemmere at gå i gang med,
den første har jo ikke en direkte asp-version.
Avatar billede cpufan Juniormester
27. august 2007 - 12:14 #9
Avatar billede mrdj Nybegynder
27. august 2007 - 12:16 #10
Se det ser jo straks spændende ud :-)

Er det sådan at jeg kan få dig til at bygge det ind i min eksisterende .asp kode? så man skal indtaste det inden man kan oprette indlæg. Kan sende filer via email.
Ellers må du sige hvad der skal til :-) Skal bare have det løst.

På forhånd tak
Avatar billede mrdj Nybegynder
01. september 2007 - 13:18 #11
Er her slet ingen der kan hjælpe mig med mit lille problem ? er desværre ikke selv den store .asp haj men har virkelig brug for den ønskede funktion i min GB.

:-)
Avatar billede cpufan Juniormester
01. september 2007 - 13:39 #12
du kan lægge koden op her, for den side hvor du indtastning til gæstebogen

så skal jeg sætte det ind på den rigtige plads
Avatar billede mrdj Nybegynder
01. september 2007 - 14:02 #13
<%
Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("guestbook.mdb") & ";UID=admin;PWD=;"



If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strKommentar = Trim(Request.Form("Kommentar"))
    If Len(strNavn) = 0 Then
        strError = "<li>Du skal skrive dit navn!</li>"
    ElseIf validateEmail(strEmail) = False Then
        strError = "<li>Du skal skrive en gyldig e-mail adresse!</li>"
    ElseIf Len(strKommentar) = 0 Then
        strError = "<li>Du skal skrive en kommentar!</li>"
    End If
    If Len(strError) = 0 Then
        Set rs = Server.CreateObject("ADODB.RecordSet")
        strSQL = "SELECT * FROM Guestbook WHERE (ID = 0)"
        rs.Open strSQL, tempConn, adOpenKeyset, adLockOptimistic
        If (rs.BOF Or rs.EOF) Then
            rs.AddNew
            rs("Navn") = Server.HTMLEncode(strNavn)
            rs("Email") = Server.HTMLEncode(strEmail)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
    Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
<html>

<head>
<title>Gæstebogen</title>
</head>

<body>
  <div align="center"><center><table border="0" width="600" cellspacing="0" cellpadding="3" style="border-left: 1px solid rgb(0,0,0); border-right: 1px solid rgb(0,0,0); border-top: 1px solid rgb(0,0,0); border-bottom: 1px solid rgb(0,0,0)">

    <tr>
      <td width="100%">
<%
Select Case strMode
Case "add"
%>
<form method="POST" action="default.asp">
<table border="0" width="100%" cellspacing="0" cellpadding="2">
        <tr>
          <td valign="middle" align="left" colspan="2"><font face="verdana" size="2"><br>Indtast venligst oplysningerne i følgende felter:<strong>
      <%=strError%></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Navn</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="Navn" size="40" value="<%=strNavn%>"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">E-mail</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="Email" size="40" value="<%=strEmail%>"></td>
        </tr>
        <tr>
          <td valign="top" align="left"><div align="right"><p><strong><font face="verdana" size="2">Kommentar</font></strong></td>
          <td valign="middle" align="left"><textarea rows="3" name="Kommentar" cols="40"><%=strKommentar%></textarea></td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><br>
          <input type="submit" value="Gem" name="Gem"> <input type="button" value="Annuller" name="Annuller" onClick="java script:location.href='default.asp'"></td>
        </tr>
      </table>
</form>
<%
Case Else
    strAddLine = "<p><img src=add.gif width=16 height=16>&nbsp;<a href=default.asp?mode=add a target=_self><strong><font face=verdana size=2>Opret indlæg!</font></strong></a></p>"
    Response.Write strAddLine
    strSQL = "SELECT * FROM Guestbook ORDER BY Dato DESC;"
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open tempConn
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        Response.Write "<table width=100% border=0 cellpadding=1 cellspacing=1>"
        Do While Not rs.EOF
            dtmDato = rs("Dato")
            dtmDato = FormatDateTime(dtmDato,vbLongDate) & " kl. " & FormatDateTime(dtmDato,vbLongTime)
            Response.Write "<tr bgcolor=#C0C0C0><td width=""100%""><font face=verdana size=2>" & dtmDato & "</td></tr>"
            If Len(rs("Email")) > 0 Then
                Response.Write "<tr><td><font face=verdana size=2><strong><a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a> skriver:</strong></td></tr>"
            Else
                Response.Write "<tr><td><font face=verdana size=2><strong>" & rs("Navn") & " skriver:</strong></td></tr>"
            End If
            Response.Write "<tr><td><font face=verdana size=2>" & rs("Kommentar") & "<br>&nbsp;</td></tr>"
            rs.MoveNext
        Loop
        Response.Write "</table>"
    Else
        Response.Write "<p><font face=verdana size=2>Der er endnu ingen der har skrevet i gæstebogen</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
    Response.Write strAddLine
End Select
%>
</tr>

  </table>
  </center></div>
</body>
</html>
<script language="VBScript" runat="Server">
Function validateEmail(strEmail)
    validateEmail = True
    If Len(strEmail) < 6 Then
        validateEmail = False
    End If
    If InStr(1, strEmail, "@", 1) < 2 Then
        validateEmail = False
    End If
    If InStr(1, strEmail, ".", 1) = 0 Then
        validateEmail = False
    End If
    pos = InStr(1, strEmail, "@", 1)
    If pos < 2 Then
        validateEmail = False
            Else
        pos = InStr(pos+1, strEmail, "@")
        If pos > 0 Then
            validateEmail = False
        End If
    End If
End Function
</script>
</table>
</div>
Avatar billede mrdj Nybegynder
06. juni 2008 - 21:37 #14
Lukker dette spørgsmål :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester