Avatar billede hojben Novice
23. september 2006 - 12:40 Der er 39 kommentarer og
1 løsning

tilføj felt i gæstebog

Jeg har denne gæstebog af Dennis Knappe men hvor det ikke er muligt at indsætte fx et link til brugerens www. Jeg har forsøgt på bedste vis, men der kommer intet frem.

Hvor går jeg galt?

<%
' --------------------------------------------------------------------------------
' Dette eksempel er skrevet af Dennis Knappe ( info@activeserverpages.dk )
' Eksemplet kan downloades fra http://www.activeserverpages.dk
' Scriptet kan frit anvendes til ikke kommercial brug, ønsker du at bruge scriptet
' i et kommercial sammenhæng kontakt da venligst Dennis Knappe
' --------------------------------------------------------------------------------
Const adOpenKeyset = 1
Const adLockOptimistic = 3

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

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strwww = Trim(Request.Form("www"))
    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("www") = Server.HTMLEncode(strwww)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
       
  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "smtp.fthmail.dk"
  JMail.Sender        = "gbog@model-fotos.dk"
  JMail.Subject      = "Der er skrevet i gæstebogen"
  JMail.AddRecipient "michael@model-fotos.dk"
  JMail.AddRecipient "janne@model-fotos.dk"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
 
  ' ********** Her starter selve email-en
  JMail.Body = "Der er skrevet i vores gæstebog. Tryk på linket for at læse beskeden." & vbCrLf &_
              "http://www.model-fotos.dk/gb.asp"
  ' ********** Her slutter selve email-en
 
  JMail.Execute
 
  Set JMail = Nothing

Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
  <div align="center"><table border="0" width="400" 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: 2px solid rgb(0,0,0)">
    <tr>
      <td width="100%">
<%
Select Case strMode
Case "add"
%>
<form method="POST" action="gb.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="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">www</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="www" size="40" value="<%=strwww%>"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Komentar</font></strong></td>
          <td valign="middle"><textarea rows="5" name="Kommentar" cols="40"><%=strKommentar%></textarea></td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><input type="submit" value="Gem" name="Gem" />
            <input type="button" value="Annuller" name="Annuller" onclick="java script:location.href='gb.asp'" /></td>
        </tr>
      </table>
</form>
<%
Case Else
    strAddLine = "<p><img src=gb/add.gif width=16 height=16>&nbsp;<a href=gb.asp?mode=add><strong><font face=verdana size=2>Skriv et indlæg i vores gæstebog!</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") & rs("www") & "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 ikke nogle der har skrevet i gæstebogen</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
   
End Select
%>
</tr>
    <tr align="center">
      <td width="100%" bgcolor="#000000">&nbsp;</td>
    </tr>
  </table>
  </center></div>

<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>

Gæstebogen kan ses på www.model-fotos.dk
Avatar billede nielle Nybegynder
23. september 2006 - 20:08 #1
Er det den kode du har ligende på siden lige nu?

I hvert fald kan jeg ikke lige finde denne her blok HTML i indtastnings-formularen:

<tr>
<td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">www</font></strong></td>
<td valign="middle" align="left"><input type="text" name="www" size="40" value="<%=strwww%>"></td>
</tr>

- og der synes absolut ikke at være nogen grund til at den ikke skulle blive vist.
Avatar billede hojben Novice
23. september 2006 - 20:40 #2
sorry. www.model-fotos.dk/gb2.asp & www.model-fotos.dk/gb/guestbook.asp

gb2.asp henter gb/guestbook.asp ind i en tabel
Avatar billede hojben Novice
23. september 2006 - 20:42 #3
Avatar billede nielle Nybegynder
23. september 2006 - 20:56 #4
Jeg tror ikke helt at jeg forstår?

Du har denne blok kode:

...
Case "add"
%>
<form method="POST" action="gb.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="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">www</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="www" size="40" value="<%=strwww%>"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">Komentar</font></strong></td>
          <td valign="middle"><textarea rows="5" name="Kommentar" cols="40"><%=strKommentar%></textarea></td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><input type="submit" value="Gem" name="Gem" />
            <input type="button" value="Annuller" name="Annuller" onclick="java script:location.href='gb.asp'" /></td>
        </tr>
      </table>
</form>
<%
...

Så vidt jeg kan bedømme er det den skl bliver aktiveret hvis man trykker på linket "Skriv et indlæg i vores gæstebog!" i toppen af din gæsetbog.

Imidlertid har den vise kode disse linjer:

...
        <tr>
          <td valign="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">www</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="www" size="40" value="<%=strwww%>"></td>
        </tr>
...

Problemet er bare at jeg ikke synes at det ser ud til at de bliver udskrevet. Derfor spørger jeg om det er den viste kode du har liggende på dit site lige nu?
Avatar billede hojben Novice
23. september 2006 - 21:05 #5
jeg har på nuværende site gb.asp til at hente gb/guestbook.asp som ses på siden.

Jeg har så lavet kopier af begge filer som nu hedder gb2.asp og gb/guestbook2.asp
Avatar billede hojben Novice
23. september 2006 - 21:09 #6
smutter for nu. kommer online senere eller imorgen..
Avatar billede nielle Nybegynder
23. september 2006 - 21:13 #7
Du svare ikke rigtigt på mit spørgsmål: Er det koden som du har postet 12:40:16 som ligger på dit site lige nu?
Avatar billede hojben Novice
24. september 2006 - 01:54 #8
hvis du ser på http://www.model-fotos.dk/gb2.asp så er det den redigerede version. Det samme er http://www.model-fotos.dk/gb/guestbook2.asp så nej det er ikke længere den samme kode :)
Avatar billede nielle Nybegynder
24. september 2006 - 07:13 #9
Jeg får en ODBC-fejl på det sidste link.

Men hvis det ikke er den samme kode mere, kan du så ikke lige poste den kode som fejler?
Avatar billede hojben Novice
24. september 2006 - 11:46 #10
ja det ved jeg hvilket egentlig også er underligt.. men gb2.asp henter gb/guestbook2.asp ind i siden.

Nedenstående er koden fra guestbook2.asp

<%
' --------------------------------------------------------------------------------
' Dette eksempel er skrevet af Dennis Knappe ( info@activeserverpages.dk )
' Eksemplet kan downloades fra http://www.activeserverpages.dk
' Scriptet kan frit anvendes til ikke kommercial brug, ønsker du at bruge scriptet
' i et kommercial sammenhæng kontakt da venligst Dennis Knappe
' --------------------------------------------------------------------------------
Const adOpenKeyset = 1
Const adLockOptimistic = 3

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

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strwww = Trim(Request.Form("www"))
    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("www") = Server.HTMLEncode(strwww)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
       
  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "smtp.fthmail.dk"
  JMail.Sender        = "gbog@model-fotos.dk"
  JMail.Subject      = "Der er skrevet i gæstebogen"
  JMail.AddRecipient "michael@model-fotos.dk"
  JMail.AddRecipient "janne@model-fotos.dk"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
 
  ' ********** Her starter selve email-en
  JMail.Body = "Der er skrevet i vores gæstebog. Tryk på linket for at læse beskeden." & vbCrLf &_
              "http://www.model-fotos.dk/gb2.asp"
  ' ********** Her slutter selve email-en
 
  JMail.Execute
 
  Set JMail = Nothing

Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
  <div align="center"><table border="0" width="400" 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: 2px solid rgb(0,0,0)">
    <tr>
      <td width="100%">
<%
Select Case strMode
Case "add"
%>
<form method="POST" action="gb2.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="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">www</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="www" size="40" value="<%=strwww%>"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right">
          <p><strong><font face="verdana" size="2">Kommentar</font></strong></td>
          <td valign="middle"><textarea rows="5" name="Kommentar" cols="40"><%=strKommentar%></textarea></td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><input type="submit" value="Gem" name="Gem" />
            <input type="button" value="Annuller" name="Annuller" onclick="java script:location.href='gb2.asp'" /></td>
        </tr>
      </table>
</form>
<%
Case Else
    strAddLine = "<p><img src=gb/add.gif width=16 height=16>&nbsp;<a href=gb2.asp?mode=add><strong><font face=verdana size=2>Skriv et indlæg i vores gæstebog!</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") & rs("www") & "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 ikke nogle der har skrevet i gæstebogen</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
   
End Select
%>
</tr>
    <tr align="center">
      <td width="100%" bgcolor="#000000">&nbsp;</td>
    </tr>
  </table>
  </center></div>

<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>
Avatar billede nielle Nybegynder
24. september 2006 - 12:11 #11
Prøv lige at udskrive Server.MapPath("database.mdb") og se om det rent faktisk er der at du har din database liggende.
Avatar billede hojben Novice
24. september 2006 - 13:04 #12
jeg har ændret stien til databasen af sikkerhedsårsager, men jeg har koden til at pege på databasen og der findes kun den ene fil.
Avatar billede nielle Nybegynder
24. september 2006 - 20:55 #13
Forståligt, men du må da i det mindste kunne afsløre om det der bliver udskrevet med Server.MapPath("database.mdb") svare overens med der hvor databasen faktisk ligger? Fejlbeskeden kunne nemlig godt tyde på at det ikke var tilfældet.
Avatar billede hojben Novice
24. september 2006 - 21:03 #14
hvordan gør jeg lige det?
Avatar billede nielle Nybegynder
25. september 2006 - 06:51 #15
Prøv, som debug at udskrive din connection-string:

tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database.mdb") & ";UID=admin;PWD=;"
Response.Write "DEBUG: " & tempConn & "<n´br>"

Så kan du der se hvilken sti den leder efter databasen på (hus at slette det når sitet går i produktion). Ser stien ud til at stemme overens med der hvor at du har lagt database-filen?

Et andet spørgsmål: Hvad står der i linje 109?
Avatar billede hojben Novice
25. september 2006 - 20:57 #16
109: myConn.Open tempConn

Efter din linje så pegede den på den rigtige sti og database.
Avatar billede nielle Nybegynder
25. september 2006 - 21:13 #17
Der kommer ikke nogen ODBC-fejl mere. Har du ændret noget?
Avatar billede hojben Novice
25. september 2006 - 21:26 #18
har du ikke en mail jeg kan sende filerne til?
Avatar billede nielle Nybegynder
25. september 2006 - 23:26 #19
Hvad er der i vejen med at poste dem her?
Avatar billede hojben Novice
27. september 2006 - 16:30 #20
det fylder ad helvedes til.. men okay..

GB2.ASP:

<html>
<head>
<title>Janne & Michael - Gæstebog</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">
<META NAME="Copyright" content="Model-fotos.dk">
<META HTTP-EQUIV="content-language" content="DA">
<META NAME="Rating" content="General">
<META NAME="Designer" content="www.jmv-design.dk">
<META NAME="Keywords" content="Janne, Michael, Christiansen, Vejs, modelfotos, model-fotos, model fotos, model, par, fotograf, fotosession, location, studie, slanger, pige-fotos, november, Marilyn Monroe, bitchy, buisness, udstråling, udseende, kontakt, smukke, skorpion, edderkop, manchester united, fernando alonso, hjemmeside, make-up, stylist, kamera, sony cyber shot, serier, undertøj, kysse, svebølle, kalundborg, vestsjællands amt, 71, 72, ">
<META NAME="Abstract" content="Model fotos">
<META NAME="Title" content="Janne & Michael Model-fotos">
<META NAME="revisit-after" content="7">
<META NAME="Robots" content="index,follow">
<META NAME="Description" content="Model fotos af Janne & Michael. Se vores fotosessions, og egne fotos. Det er muligt som fotograf eller anden model at kontakte os. ">
<META HTTP-EQUIV="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Expires" content="0">
<META NAME="Author" content="Janne & Michael">

<link rel="stylesheet" type="text/css" href="css/style.css">
</head>

<body bgcolor="#000000" text="#CCCCCC" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="97%" border="0" cellspacing="1" cellpadding="1" align="center">
  <tr>
    <td colspan="2">
      <img src="gfx/front2.jpg" alt="Scorpio" width="100%" height="100">    </td>
  </tr>
  <tr>
    <td width="11%" valign="top"><br>

      <table width="100%" border="0" cellspacing="1" cellpadding="1">
        <tr>
          <td>&nbsp;</td>
          <td bgcolor="#cccccc" valign="top">
                <!--#include file="menuleft.asp" -->
               
          </td>
        </tr>
      </table>
    </td>
    <td valign="top">
      <table width="100%" border="0" cellspacing="1" cellpadding="1">
        <tr>
          <td width="85%" valign="top"><br>

            <table width=400 height="0"
                  border=0 align="center" cellpadding=1 cellspacing=1 bordercolor="#000000" bgcolor=#cccccc>
              <tbody>
              <tr bgcolor=#cccccc>
                <td height="2" align=middle bordercolor="#000000" bgcolor="#cccccc">
                  <div align="center"><font face="Verdana,Arial" color="#FFFFFF" size="1"><b><font color="#000000">&nbsp;&nbsp;.:
                    G&aelig;stebog </font></b></font></div>
                </td>
              </tr>
              <tr bordercolor="#000000" bgcolor=#ffffff>
                <td align=middle bordercolor="#000000" bgcolor="#000000">
                  <!--#include file="GB/guestbook2.asp" --></td>
              </tr>
              </tbody>
            </table></td>
          <td width="15%" valign="top"><br>

            <table width="100%" border="0" cellspacing="1" cellpadding="1">
              <tr>
                <td>&nbsp;</td>
                <td bgcolor="#cccccc" valign="top">

                  <!--#include file="menuright.asp" -->
              </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>
    </td>
  </tr>
</table>
</body>
</html>

/GB/Guestbook2.asp:

<%
' --------------------------------------------------------------------------------
' Dette eksempel er skrevet af Dennis Knappe ( info@activeserverpages.dk )
' Eksemplet kan downloades fra http://www.activeserverpages.dk
' Scriptet kan frit anvendes til ikke kommercial brug, ønsker du at bruge scriptet
' i et kommercial sammenhæng kontakt da venligst Dennis Knappe
' --------------------------------------------------------------------------------
Const adOpenKeyset = 1
Const adLockOptimistic = 3

strMode = Request.QueryString("mode")

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

If Request.Form("Gem") <> "" Then
    strError = ""
    strNavn = Trim(Request.Form("Navn"))
    strEmail = Trim(Request.Form("Email"))
    strwww = Trim(Request.Form("www"))
    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("www") = Server.HTMLEncode(strwww)
            rs("Kommentar") = Server.HTMLEncode(strKommentar)
            rs("Dato") = Now()
            rs.Update
        End If
        rs.Close
        Set rs = Nothing
       
  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  JMail.ServerAddress = "smtp.fthmail.dk"
  JMail.Sender        = "gbog@model-fotos.dk"
  JMail.Subject      = "Der er skrevet i gæstebogen"
  JMail.AddRecipient "michael@model-fotos.dk"
  JMail.AddRecipient "janne@model-fotos.dk"
  JMail.Priority      = 3
  JMail.AddHeader    "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
 
  ' ********** Her starter selve email-en
  JMail.Body = "Der er skrevet i vores gæstebog. Tryk på linket for at læse beskeden." & vbCrLf &_
              "http://www.model-fotos.dk/gb2.asp"
  ' ********** Her slutter selve email-en
 
  JMail.Execute
 
  Set JMail = Nothing

Else
        strError = "<p><ul><font color=#FF0000>" & strError & "</font></ul></p>"
        strMode = "add"
    End If
End If
%>
  <div align="center"><table border="0" width="400" 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: 2px solid rgb(0,0,0)">
    <tr>
      <td width="100%">
<%
Select Case strMode
Case "add"
%>
<form method="POST" action="gb2.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="middle" align="left"><div align="right"><p><strong><font face="verdana" size="2">www</font></strong></td>
          <td valign="middle" align="left"><input type="text" name="www" size="40" value="<%=strwww%>"></td>
        </tr>
        <tr>
          <td valign="middle" align="left"><div align="right">
          <p><strong><font face="verdana" size="2">Kommentar</font></strong></td>
          <td valign="middle"><textarea rows="5" name="Kommentar" cols="40"><%=strKommentar%></textarea></td>
        </tr>
        <tr>
          <td valign="middle" align="left" colspan="2"><input type="submit" value="Gem" name="Gem" />
            <input type="button" value="Annuller" name="Annuller" onclick="java script:location.href='gb2.asp'" /></td>
        </tr>
      </table>
</form>
<%
Case Else
    strAddLine = "<p><img src=gb/add.gif width=16 height=16>&nbsp;<a href=gb2.asp?mode=add><strong><font face=verdana size=2>Skriv et indlæg i vores gæstebog!</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") & rs("www") & "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 ikke nogle der har skrevet i gæstebogen</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
   
End Select
%>
</tr>
    <tr align="center">
      <td width="100%" bgcolor="#000000">&nbsp;</td>
    </tr>
  </table>
  </center><br />
</div>

<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>
Avatar billede nielle Nybegynder
27. september 2006 - 19:45 #21
Hvor har du egentligt dit gb2.asp script liggende?

Her:

http://www.model-fotos.dk/gb2.asp

- eller her:

http://www.model-fotos.dk/gb/gb2.asp

- eller har du måske en version liggende begge steder? Hvis du har det, så skal din tempConn-streng se forskellig ud hvis de begge to skal kunne når den samme Access-database.


PS:

Lige nu har du en ODBC-fejl på:

http://www.model-fotos.dk/gb2.asp
Avatar billede nielle Nybegynder
27. september 2006 - 19:47 #22
Grunden til at jeg spørger:

Hvis man klikker på linket i:

http://www.model-fotos.dk/gb/guestbook2.asp

- forsøger den at submitte til:

http://www.model-fotos.dk/gb/gb2.asp

- men det virker ikke som om at gb2.asp ligger der.
Avatar billede hojben Novice
27. september 2006 - 20:42 #23
ja det må man sige er en fejl. gb2.asp ligger i roden og ikke andre steder. guestbook2.asp ligger kun i folderen GB.
Avatar billede nielle Nybegynder
28. september 2006 - 19:57 #24
Hverken:

http://www.model-fotos.dk/guestbook2.asp

- eller:

http://www.model-fotos.dk/gb/guestbook2.asp

- virker 100% korrekt.

Så hvilken en skal jeg tage udgangspunkt i?
Avatar billede hojben Novice
28. september 2006 - 20:04 #25
hvis du åbner http://www.model-fotos.dk/gb2.asp så virker den. det er den som henter http://www.model-fotos.dk/gb/guestbook2.asp ind!
Avatar billede nielle Nybegynder
28. september 2006 - 22:11 #26
Du skal ændre din:

<form method="POST" action="/../gb2.asp">

- til:

<form method="POST" action="gb2.asp">

Jeg kan se at du nu har fået dit www-felt med på formen.
Avatar billede hojben Novice
28. september 2006 - 22:21 #27
ja og den kommer også med ind i databasen.. og nu har jeg fjernet emailen og sat www ind i stedet. Det er også fint nok men kan ikke lige se/gennemskue hvordan jeg smider et target="_blank" ind. og heller ikke hvordan jeg "fjerner" linket hvis personen der har skrevet ikke har en hp.

koden:
Response.Write "<tr><td><font face=verdana size=2><strong><a href=" & rs("www") & ">" & rs("Navn") & "</a> skriver</strong>" & "</td></tr>"
Avatar billede nielle Nybegynder
03. oktober 2006 - 08:56 #28
I hvilken sammenhæng er det du gerne vil have en target="_blank" ind i din kode?

Jeg går udfra at du med "hp" mener en hjemmeside?

Hvis personen ikke har angivet en hjemmeside, er rs("www") tom. Det kan derfro gøres ved at teste på dette med en If-sætning:

If rs("www") <> "" Then
    Response.Write "<tr><td><font face=verdana size=2><strong><a href=" & rs("www") & ">" & 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
Avatar billede hojben Novice
03. oktober 2006 - 18:47 #29
du er på rette spor. hvilket i min kode skal skiftes ud med din ?
Avatar billede nielle Nybegynder
03. oktober 2006 - 18:53 #30
Den fra 28/09-2006 22:21:50 :^)
Avatar billede hojben Novice
03. oktober 2006 - 21:41 #31
takker.. nu mangler jeg bare at www så er en target="_blank" på indlæg i gb
samt at det er ligegyldigt om brugeren skriver http://www.test.dk eller www.test.dk
Avatar billede nielle Nybegynder
03. oktober 2006 - 21:45 #32
Så spørger jeg lige igen:

I hvilken sammenhæng er det du gerne vil have en target="_blank" ind i din kode?
Avatar billede hojben Novice
03. oktober 2006 - 21:57 #33
sådan, at når gæstebogen bliver vist og der er et link til brugerens hjemmeside (HP), så skal linket åbnes i nyt vindue.

<a href=" & rs("www") & ">" & rs("Navn") & " & "target="_blank"</a> (Jeg fatter sgu ikke de &'er)
Avatar billede nielle Nybegynder
03. oktober 2006 - 22:02 #34
Nåe, sådan:

Response.Write "<tr><td><font face=verdana size=2><strong><a href='" & rs("www") & "' target='_blank'>" & rs("Navn") & "</a> skriver</strong>" & "</td></tr>"
Avatar billede hojben Novice
03. oktober 2006 - 22:22 #35
nice.. så er det bare den sidste ting: nemlig at hvis brugeren kun skriver www.test.dk så tilføjes der automatisk http:// foran ellers ikke.
Avatar billede nielle Nybegynder
03. oktober 2006 - 22:29 #36
Det kan da gøres, men finder browseren ikke ud af det selv om den mangler?
Avatar billede hojben Novice
03. oktober 2006 - 22:34 #37
nix den skriver bare http://www.model-fotos.dk/www.dyrtilsalg.dk hvis der er skrevet uden http://

Testindlæg er skrevet: http://www.model-fotos.dk/gb2.asp

natter den nu. men smid bare et svar når du har løst det :=)
Avatar billede nielle Nybegynder
03. oktober 2006 - 22:39 #38
Det var nu ikke fordi at jeg mente at det var svære, blot at der ikke var nogen grund til at kode noget som var overflødigt. Men det var det jo så ikke. :^)

Sådan:

www = rs("www")
If www <> "" Then
    If Left(LCase(www), 7) <> "http://" And Left(LCase(www), 8) <> "https://" And Left(LCase(www), 6) <> "ftp://" Then
        www = "https://" & www
    End If

    Response.Write "<tr><td><font face=verdana size=2><strong><a href='" & www & "' target='_blank'>" & 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
Avatar billede hojben Novice
04. oktober 2006 - 16:13 #39
smid et svar :)
Avatar billede nielle Nybegynder
04. oktober 2006 - 17:07 #40
Svar :^)
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