Avatar billede ste Nybegynder
23. december 2003 - 23:56 Der er 8 kommentarer og
2 løsninger

Formular Database Jmail

Jeg har en formular. Der ser således ud.

Så har jeg en side der lægger data ned i en databse. Og her vil jeg gerne have at jmail sender en mail når der er kommet noget i gestebogen, men det virker ikke. Er jeg helt på afveje.

<html>

  <head>
    <title>gæstebog.</title>
  </head>

<body bgcolor="lightgrey">

<form method="post" action="gestebog.asp"> 
 
    <table width="70%" align="center">
    <tr>
    <td align="center" colspan="5"><h1>Gæstebog.</h1></td>
    </tr>
    <tr>
      <td colspan="5">Du er velkommen til at lave et indlæg i min gæstebog. Siden er min legeplads,
                      hvor jeg forsøger mig med nye ting som jeg lærer i websitens kunst.
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><br>Skriv dit Navn</b></td>
    <td>&nbsp;</td>
    <td><b>Skriv din email.</b>(frivilligt)</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><input type="text" name="Navn" size="40"></td>
    <td>&nbsp;</td>
    <td><input type="text" name="email" size="20"></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td><br>Skriv dit Indlæg</b></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td>&nbsp;</td>
      <td colspan="3"><textarea name="Indleg" cols="70" rows="5"></textarea></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="4"><input type="submit" value="Registrer din besked">
    </tr>
  </table>
  </form>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../www/db/gestebog.mdb")
strSQL= "SELECT * FROM tblgestebog order by Id Desc"
Set rs = Conn.Execute(strSQL)
%>
<table border="0" cellspacing="0" width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">
  <tr>
    <td width="40%"><b>Navn</b></td>
    <td width="30%"><b>Email</b></td>
    <td width="30%"><b>Registreret </b></td>
  </tr>




              <%

            DO WHILE NOT rs.EOF
                Navn = rs("Navn")
                email = rs("email")
                Indleg = rs("Indleg")
                Dato = rs("Dato")
                Tid = rs("Tid")
               
               
            %>
 
     


  <tr>
    <td width="40%"><%=Navn%></td>
    <td width="30%"><%=email%></td>
    <td width="30%"><%=Dato%> kl. <%=Tid%></td>
  </tr>
  <tr>
    <td width="30%" colspan="3"><p align="left" ><b>Skriver</b></td>
  </tr>

  <tr>
    <td width="30%" colspan="3"><p align="left"><%=Indleg%></td>
  </tr>
 
     


  <tr>
    <td width="100%" align="center" colspan="4">
    <hr>
    </td>
  </tr>
 
   


 
        <%
rs.MoveNext
LOOP
RS.Close
Response.Write ""
Conn.Close
Set Conn=Nothing
%>

</table>


</body>
</html>

Her kommer siden der lægger data i databasen

<html>

<head>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../www/db/gestebog.mdb")

strSQL= "Insert Into tblgestebog (Navn, email, Indleg) values('" & Request.Form("Navn") & "', '" & Request.Form("email") & "', '" & Request.Form("Indleg") & "')"
Set rs = Conn.Execute(strSQL)
Conn.Close
Set Conn=Nothing
               
       
%>

           
</head>   
<body  onload="window.open('gestebogoutput.asp','_self');"  >


<%
Set JMail = Server.CreateObject("JMail.SMTPMail")
Response.Expires = 0

'Her bliver variabler til inputene fra formen defineret
Dim strNavn, stremail, strIndleg


If Request.ServerVariables("CONTENT_LENGTH") <> 0 Then
 
  strName = Trim(Request.Form("navn"))
  stremail = Trim(Request.Form("email"))
  strIndleg = Trim(Request.Form("Indleg"))
     
 
  JMail.ServerAddress = "mail.xx.dk"
  JMail.sender = "xx@pxxx.dk"
  JMail.subject = "Indlæg til Gestebogen"
  JMail.AddRecipient "xx@xx.dk"
  JMail.AddRecipientCC "strEmail"
 

  'Her bliver e-mailen til et "ENTER" bliver angivet med: "& VbCrLF"
  JMail.Body = "Følgende oplysninger er sendt til Gestebog.: " & VbCrLf
  JMail.Body = JMail.Body & strNavn & VbCrLf
  JMail.Body = JMail.Body & "e-mail: " & stremail & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & "Indlæg:" & VbCrLf & strIndleg & VbCrLf & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & strCv
 
  'Her bliver form-mailens prioritet bestemt
  ' 1 - højeste (Haster / Vigtigt)
  ' 3 - normal
  ' 5 - lavest
  JMail.Priority = 3

  JMail.Execute
 
%>

</body>

</html>

Hvad er der galt.
Avatar billede thesurfer Nybegynder
23. december 2003 - 23:59 #1
Når du får en fejl, skriv:
- fejlmeddelelsen (ordret, dvs kopier og sæt ind), også selvom du ikke forstår den
- linie nr og selve linie
- evt variabler du bruger
- evt hjemmelavede funktioner du bruger
Avatar billede cpufan Juniormester
24. december 2003 - 00:04 #2
du har erklæret 3 variabler strnavn, stremail og strindleg
så skal det hedde:

strNavn = Trim(Request.Form("navn"))
  stremail = Trim(Request.Form("email"))
  strIndleg = Trim(Request.Form("Indleg"))
     
 
  JMail.ServerAddress = "mail.xx.dk"
  JMail.sender = "xx@pxxx.dk"
  JMail.subject = "Indlæg til Gestebogen"
  JMail.AddRecipient "xx@xx.dk"
  JMail.AddRecipientCC "strEmail"
 

  'Her bliver e-mailen til et "ENTER" bliver angivet med: "& VbCrLF"
  JMail.Body = "Følgende oplysninger er sendt til Gestebog.: " & VbCrLf
  JMail.Body = JMail.Body & strNavn & VbCrLf
  JMail.Body = JMail.Body & "e-mail: " & stremail & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & "Indlæg:" & VbCrLf & strIndleg & VbCrLf & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & strCv

du har altså blot en fejl på strName
Avatar billede ste Nybegynder
24. december 2003 - 10:10 #3
Hej thesurfer
Den siger den ikke kan finde siden. Der er ikke nogen fejlmelding som sådan.

Til CPUfan

Det er rigtigt der var stavefejl, men det løste ikke noget.
Avatar billede thesurfer Nybegynder
24. december 2003 - 17:45 #4
Er du sikker på at siden "gestebogoutput.asp" er stavet korrekt?:
<body  onload="window.open('gestebogoutput.asp','_self');"  >

Du kan også bare bruge:
<body onLoad="location.href='gestebogoutput.asp'">
Avatar billede ste Nybegynder
25. december 2003 - 00:16 #5
Nej det er ikke det der laver problemet. Hvis jeg fjerne onload og databasen asp'en får jeg stadig fejl. Den er som følger.

Siden kan ikke vises
Der er problemer med den side, du prøver at åbne, og den kan ikke vises.

--------------------------------------------------------------------------------

HTTP 500 - Intern serverfejl
Internet Explorer
Avatar billede thesurfer Nybegynder
25. december 2003 - 17:19 #6
Gå op i menuen funktioner > internetindstillinger > avanceret > fjern "x" i "vis ikke uskadelige http fejl" eller hvad den nu hedder > klik ok, og reload siden.
Avatar billede ste Nybegynder
29. december 2003 - 21:17 #7
Jeg har løst opgaven således. Jeg har været ude at søge og bygge sammen og om. Så jeg vil ikke ikke give fuld point, men vil dog gerne dele dem så hvis thesurfer lige smider et svar kan jeg lukke spørgsmålet. Løsningen kommer her.

<%
Set JMail = Server.CreateObject("JMail.SMTPMail")
Response.Expires = 0

'Her bliver variabler til inputene fra formen defineret
Dim strNavn, strEmail, strIndleg


If Request.ServerVariables("CONTENT_LENGTH") <> 0 Then
 
  strNavn = Trim(Request.Form("Navn"))
  strEmail = Trim(Request.Form("email"))
  strIndleg = Trim(Request.Form("Indleg"))
 
 
  JMail.ServerAddress = "smtp.mitdomæne.dk"
  JMail.sender = "xxx@xxx.dk"
  JMail.subject = "Tak for dit indlæg i xxx.dk gæstebog."
  JMail.AddRecipient strEmail
  JMail.AddRecipientBCC "xxx@xxxx.dk"
 
 

  'Her bliver e-mailen til et "ENTER" bliver angivet med: "& VbCrLF"
  JMail.Body = "Følgende oplysninger og indlæg har du lagt ind i www.xxx.dk gæstebog.: " & VbCrLf & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & "Navn: " & strNavn & VbCrLf
  JMail.Body = JMail.Body & "e-mail: " & strEmail & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & "Bemærkninger:" & VbCrLf & strIndleg & VbCrLf & VbCrLf & VbCrLf
  JMail.Body = JMail.Body & strCv
 
  'Her bliver form-mailens prioritet bestemt
  ' 1 - højeste (Haster / Vigtigt)
  ' 3 - normal
  ' 5 - lavest
  JMail.Priority = 3

  JMail.Execute

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../www/db/gestebog.mdb")

strSQL= "Insert Into tblgestebog (Navn, email, Indleg) values('" & Request.Form("Navn") & "', '" & Request.Form("email") & "', '" & Request.Form("Indleg") & "')"
Set rs = Conn.Execute(strSQL)
Conn.Close
Set Conn=Nothing




 
%>
<!-- Her kommer responsen til brugeren efter at form-mailen er sendt -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Gæstebog input</TITLE>
<META NAME="Description" CONTENT="">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<STYLE TYPE="text/css">
<!--
      BODY {
            font-family: Arial; font-size: 9pt; font-style: normal; bgcolor:lightgrey;
      }
      Table {
            font-family: Arial; font-size: 9pt; font-style: normal;
      }
      Td {
            font-family: Arial; font-size: 9pt; font-style: normal;
      }
      Tr {
          font-family: Arial; font-size: 9pt; font-style: normal;
      }
      SELECT {
          font-family: Arial; font-size: 10pt; font-style: normal;
      }
      INPUT {
          font-family: Arial; font-size: 10pt; font-style: normal;
      }
      INPUT.submit {
          font-family: Arial; font-size: 10pt; font-style: normal; TEXT-DECORATION: none;
      }
      INPUT.reset {
          font-family: Arial; font-size: 10pt; font-style: normal; TEXT-DECORATION: none;
      }
      TEXTAREA {
          font-family: Arial; font-size: 10pt; font-style: normal;
      }
-->
</STYLE>
</HEAD>
<BODY>
<TABLE WIDTH=600 HEIGHT=15 BORDER=0 ALIGN="CENTER" CELLPADDING=0 CELLSPACING=0 RULES="NONE" FRAME="VOID">
    <TR>
      <TD WIDTH=100% HEIGHT=1 ALIGN="CENTER" VALIGN="TOP">
            <CENTER>Tak for dit indlæg. Du vil modtage en bekræftelse på den angivne mail.
                        </CENTER>
      </TD>
    </TR>
</TABLE>

</BODY>
</HTML>

<%
Else
%>
<!-- Her kommer form-mailen -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Indlæg i xxxx.dk gæstebog.</TITLE>
<META NAME="Description" CONTENT="">
<META NAME="Generator" CONTENT="Microsoft FrontPage 5.0">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">

<STYLE TYPE="text/css">
<!--
      BODY {
            font-family: Arial; font-size: 9pt; font-style: normal; bgcolor:lightgrey;
      }
      Table {
            font-family: Arial; font-size: 9pt; font-style: normal;
      }
      Td {
            font-family: Arial; font-size: 9pt; font-style: normal;
      }
      Tr {
          font-family: Arial; font-size: 9pt; font-style: normal;
      }
      SELECT {
          font-family: Arial; font-size: 10pt; font-style: normal;
      }
      INPUT {
          font-family: Arial; font-size: 10pt; font-style: normal;
      }
      INPUT.submit {
          font-family: Arial; font-size: 10pt; font-style: normal; TEXT-DECORATION: none;
      }
      INPUT.reset {
          font-family: Arial; font-size: 10pt; font-style: normal; TEXT-DECORATION: none;
      }
      TEXTAREA {
          font-family: Arial; font-size: 10pt; font-style: normal;
      }
-->
</STYLE>

<!-- Følgende script tjekker om alle felterne i form-mailen er udfyldt. -->
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function validate(form1) {

    //Navn-feltet
    if (form1.Navn.value == "")
    {alert("Husk at angive dit navn!");
    document.form1.Navn.focus();
    return false;
    }
    else {
    //e-mail-feltet
    if (document.form1.email.value.indexOf("@")==-1 || document.form1.email.value.indexOf(".")==-1)
    {alert("Du har ikke udfyldt e-mail feltet korrekt");
    document.form1.email.focus();
    return false;
    }
    }
  return true;
}


//Følgende sørger for cursoren står i første felt (Navn)
function start() {
document.form1.Navn.focus();
return false;
}
</SCRIPT>

</HEAD>
<BODY BGCOLOR="#999999" TEXT="#000000" LINK="#FF3399" VLINK="#3366FF" ALINK="#FF0000" SCROLL=AUTO LEFTMARGIN=0 MARGINWIDTH=0 TOPMARGIN=0 MARGINHEIGHT=0 ONLOAD="return start()">
<TABLE WIDTH=400 HEIGHT=450 BORDER=0 ALIGN="CENTER" CELLPADDING=0 CELLSPACING=0 RULES="NONE" FRAME="VOID">
    <TR>
      <TD WIDTH=100% HEIGHT=15 ALIGN="CENTER" VALIGN="TOP">
      </TD>
    </TR>
    <TR>
      <TD WIDTH=100% HEIGHT=15 ALIGN="CENTER" VALIGN="TOP">
            <h1>Gæstebog.</h1><p align="left"><p align="center">Du er velkommen til at lave et indlæg i gæstebogen.</p>
      </TD>
    </TR>
    <TR>
      <TD ALIGN="CENTER" VALIGN="TOP">
     
<FORM NAME="form1" ACTION="gesteboginput.asp" METHOD=POST ONSUBMIT="return validate(this)">

<TABLE WIDTH=650 HEIGHT=314 BORDER=0 ALIGN="CENTER" CELLPADDING=0 CELLSPACING=0>
  <tr>
<td width=91 height="21">&nbsp;</td>
<td width=559 height="21" >&nbsp;</td>
<tr><td width="91" height="21">&nbsp;</td><td width="559" height="21">&nbsp;</td></tr>
<tr><td colspan="2" width="650" height="21">&nbsp;</td></tr>

    <TR>
      <TD WIDTH=91 ALIGN="LEFT" VALIGN="BOTTOM" height="31"><b>Skriv dit Navn</b></TD>
      <TD WIDTH=559 ALIGN="RIGHT" VALIGN="BOTTOM" height="31">
      <p align="left"><b>Skriv din e-mail</b></TD>
    </TR>
 
    <TR>
      <TD WIDTH=91 ALIGN="LEFT" VALIGN="BOTTOM" height="29"><INPUT TYPE="text" NAME="Navn" SIZE=25 MAXLENGTH=100></TD>
      <TD WIDTH=559 ALIGN="RIGHT" VALIGN="BOTTOM" height="29">
      <p align="left"><INPUT TYPE="text" NAME="email" SIZE=25 MAXLENGTH=100></TD>
    </TR>
    <TR>
      <TD WIDTH=91 ALIGN="LEFT" VALIGN="BOTTOM" height="20">&nbsp;</TD>
      <TD WIDTH=559 ALIGN="RIGHT" VALIGN="BOTTOM" height="20">
      &nbsp;</TD>
    </TR>
    <TR>
      <TD WIDTH=650 ALIGN="LEFT" VALIGN="top" height="115" colspan="2">Bemærkninger:<p align="left"><textarea rows="5" name="Indleg" cols="88"></textarea></TD>
    </TR>
    <TR>
      <TD VALIGN="BOTTOM" COLSPAN=2 width="650" height="56"><BR>
      <p align="left">
      <INPUT TYPE="submit" NAME="submit" VALUE=" Indsend dit indlæg">
      <INPUT TYPE="reset" NAME="reset" VALUE=" Nulstil " name="Reset" onclick="java script:document.form1.Navn.focus();">
      </TD>
    </TR>
   
</TABLE>
</FORM>
      </TD>
    </TR>
    <tr>
    <td colspan="3">
        <tr>
    <td colspan="3">
    <%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("../www/db/gestebog.mdb")
strSQL= "SELECT * FROM tblgestebog Order by Id Desc"
Set rs = Conn.Execute(strSQL)
%>
<table border="0" cellspacing="0" width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">
  <tr>
    <td width="100%" colspan="3">
    &nbsp;</td>
  </tr>




  <tr>
    <td width="100%" colspan="3">
    <p align="center"><font face="Tahoma"><b>Indlæg i gæstebogen.</b></font></td>
  </tr>




  <tr>
    <td width="100%" colspan="3">&nbsp;</td>
  </tr>




  <tr>
    <td width="40%"><b>Navn</b></td>
    <td width="30%"><b>Email</b></td>
    <td width="30%"><b>Registreret </b></td>
  </tr>




              <%

            DO WHILE NOT rs.EOF
                Navn = rs("Navn")
                email = rs("email")
                Indleg = rs("Indleg")
                Dato = rs("Dato")
                Tid = rs("Tid")
               
               
            %>
 
     


  <tr>
    <td width="40%"><%=Navn%></td>
    <td width="30%"><%=email%></td>
    <td width="30%"><%=Dato%> kl. <%=Tid%></td>
  </tr>
  <tr>
    <td width="30%" colspan="3"><p align="left" ><b>Skriver</b></td>
  </tr>

  <tr>
    <td width="30%" colspan="3"><p align="left"><%=Indleg%></td>
  </tr>
 
     


  <tr>
    <td width="100%" align="center" colspan="3">
    <hr>
    </td>
  </tr>
 
   


 
        <%
rs.MoveNext
LOOP
RS.Close
Response.Write ""
Conn.Close
Set Conn=Nothing
%>

</table>
</td>
</tr>
</TABLE>
</BODY>
</HTML>
<% End If %>
Avatar billede ste Nybegynder
04. januar 2004 - 21:54 #8
Ok. thesurfer hvis du ikke er interreseret i point så giv lige en melding.
Avatar billede thesurfer Nybegynder
04. januar 2004 - 22:06 #9
En melding er givet ;-)
Ingen points til mig, tak :-)
Avatar billede ste Nybegynder
04. januar 2004 - 22:15 #10
Jeg giver hermed 10 pionts til cpufan for indsatsen. Det var ikke det der løste mit problem men på en eller måde vel jeg alligevel belønne indsatsen. Til thesurfer kan jeg så kun sige tak, og tænke at det er godt at der stdig findes nogen der gør noget for tjenestens skyld. Ros til dig også.
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