Avatar billede pouldc Nybegynder
29. januar 2004 - 20:22 Der er 17 kommentarer og
1 løsning

Mailform/aspmail

Hey,
Jeg er på udkig efter et simpelt script til en mailform. Bare sådan en hvor brugere på websitet kan skrive navn, adresse, e-mail og så et tekstfelt.

Håber nogen kan hjælpe!
Avatar billede eagleeye Praktikant
29. januar 2004 - 20:36 #1
Her er et eksempel med ASPmail og en form:


<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  navn = Request.Form("navn")
  adresse = Request.Form("adresse")
  postnummer = Request.Form("postnummer")
  by = Request.Form("by")
  email = Request.Form("email")
  besked = Request.Form("besked")

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "Dit navn"
  Mailer.FromAddress= "dinemail@site.dk"
  Mailer.RemoteHost = "mail.server.dk"  'Angiv mail server her
  ' Mailer.AddRecipient skal hvade to paramater og vil man kun bruger email skal det være:
  ' Mailer.AddRecipient "", "email@site.dk"
  Mailer.AddRecipient "Dit navn", "email@site.dk"
  Mailer.Subject    = "En mail fra siden"
 
  body = "Hej en ny mail " & vbCrLf & vbCrLf
  body = body & "Data fra formen:" & vbCrLF
  body = body & "Navn : " & navn & vbCrLf
  body = body & "Adresse : " & adresse & vbCrLf
  body = body & "Postnummer : " & postnummer & vbCrLf
  body = body & "By : " & by & vbCrLf
  body = body & "E-mail : " & email & vbCrLf
  body = body & "Besked : " & server.HTMLEncode(besked) & vbCrLf
  body = body & vbCrLf & "Med venlig hilsen" & vbCrLf
  body = body & "Min side"
  Mailer.BodyText  = body
  if Mailer.SendMail then
  else
    Response.Write "Mail send failure. Error was " & Mailer.Response
  end if
 
  Set Mailer = Nothing

 
  Response.Redirect (Request.ServerVariables("SCRIPT_NAME")&"?mode=tak")
end if

if Request.Querystring("mode")="tak" then
  Response.Write "Tak for din henvendelse"
  Response.End
end if
%>

<html>
<body>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post">
<table>
<tr><td>Navn</td><td><input type="text" name="navn"></td></tr>
<tr><td>Adresse</td><td><input type="text" name="adresse"></td></tr>
<tr><td>Postnummer</td><td><input type="text" name="postnummer"></td></tr>
<tr><td>By</td><td><input type="text" name="by"></td></tr>
<tr><td>Email</td><td><input type="text" name="email"></td></tr>
<tr><td>Besked</td><td><textarea name="besked" cols="30" rows="10"></textarea></td></tr>
<tr><td>&nbsp;</td><td><input type="submit" name="Send" value="Send"></td></tr>
</table>
</form>
</body>
</html>
Avatar billede pouldc Nybegynder
29. januar 2004 - 20:59 #2
Tak!!!
Lige et lille tillægsspørgsmål:

Hvordan ændrer jeg "slutningen"

  Response.Redirect (Request.ServerVariables("SCRIPT_NAME")&"?mode=tak")
end if

if Request.Querystring("mode")="tak" then
  Response.Write "Tak for din henvendelse"
  Response.End
end if
%>

til at bare refreshe samme side og lave den der "tak for..." som en alert?
Avatar billede pouldc Nybegynder
29. januar 2004 - 21:04 #3
Og hvordan kan man lave linieskift i outputtet? for overskuelighedensskyld.

Sådan at den ikke skriver:
Navn : a
Adresse : a
Postnummer : a
By : a
E-mail : a
Besked : a

men:
Navn :
a

Adresse :
a

Postnummer :
a

By :
a

E-mail :
a

Besked :
a
Avatar billede eagleeye Praktikant
29. januar 2004 - 21:04 #4
Så laver du dette:

if Request.Querystring("mode")="tak" then
  Response.Write "Tak for din henvendelse"
  Response.End
end if
%>

Om til:


if Request.Querystring("mode")="tak" then %>
  <script LANGUAGE="JavaScript">
  alert("Tak for din henvendelse");
  </script>
<%
end if
%>
Avatar billede eagleeye Praktikant
29. januar 2004 - 21:05 #5
Man indsætter linjeskift med vbCrLf:

body = body & "Navn : " & vbCrLf & navn & vbCrLf & vbCrLf
Avatar billede pouldc Nybegynder
29. januar 2004 - 22:24 #6
Tusind tak, bare et lille problem, pop-up'en kommer hver gang siden loades... er det fordi jeg har placeret koden i headeren?? hvad gør jeg forkert?
Avatar billede eagleeye Praktikant
29. januar 2004 - 22:26 #7
Det kommer an på hvordan koden ser ud??
Avatar billede eagleeye Praktikant
29. januar 2004 - 22:30 #8
Hvis du ikke har noget som kun viser pop-up'en når mailen er send så vil den komme hele tiden siden loades.
Avatar billede ravsted_dk Nybegynder
30. januar 2004 - 00:08 #9
Her en formail til asp.
http://www.sortedsites.com/formmail.asp
og her er hvordan man sætter den op
http://www.sortedsites.com/formmail-readme.asp

Virker hos mig
Avatar billede pouldc Nybegynder
30. januar 2004 - 10:48 #10
Tak, men nu virker der andet faktisk... det eneste problem er pop-up'en... jeg poster lige hele scriptet når jeg kommer hjem.
Avatar billede pouldc Nybegynder
30. januar 2004 - 18:02 #11
Sådan har jeg sat det ind... problemet er altså at pop-up'en kommer hver gang siden loader

</script>

<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  navn = Request.Form("navn")
  adresse = Request.Form("adresse")
  postnummer = Request.Form("postnummer")
  by = Request.Form("by")
  email = Request.Form("email")
  besked = Request.Form("besked")

  Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
  Mailer.FromName  = "Website"
  Mailer.FromAddress= "Minmail"
  Mailer.RemoteHost = "mail.wannafind.dk"  'Angiv mail server her
  ' Mailer.AddRecipient skal havde to paramater og vil man kun bruger email skal det være:
  ' Mailer.AddRecipient "", "Minmail"
  Mailer.AddRecipient "website navn", "Minmail"
  Mailer.Subject    = "Mail!"
 
  body = "Ny mail: " & vbCrLf & vbCrLf
  body = body & "Data for mail:" & vbCrLF
  body = body & "Navn : " & vbCrLf & navn & vbCrLf & vbCrLf
  body = body & "Adresse : " & vbCrLf & adresse & vbCrLf & vbCrLf
  body = body & "Postnummer : " & vbCrLf & postnummer & vbCrLf & vbCrLf
  body = body & "By : " & vbCrLf & by & vbCrLf & vbCrLf
  body = body & "E-mail : " & vbCrLf & email & vbCrLf & vbCrLf
  body = body & "Besked : " & vbCrLf & server.HTMLEncode(besked) & vbCrLf & vbCrLf
  body = body & vbCrLf & vbCrLf & "Med venlig hilsen" & vbCrLf
  body = body & "Websitet!"
  Mailer.BodyText  = body
  if Mailer.SendMail then
  else
    Response.Write "Mail send failure. Error was " & Mailer.Response
  end if
 
  Set Mailer = Nothing

 
  Response.Redirect (Request.ServerVariables("SCRIPT_NAME")&"?mode=tak")
end if

if Request.Querystring("mode")="tak" then %>
  <script LANGUAGE="JavaScript">
  alert("Your order has now been submitted!");
  </script>
<%
end if
%>

</head>

<body .... osv.
Avatar billede eagleeye Praktikant
30. januar 2004 - 18:18 #12
Den eneste måde den kom komme frem på er hvis mode=tak linket når denne if sætning er på:

if Request.Querystring("mode")="tak" then


Når man har sendt mailen, kommer den så hele tiden hvis man reloader siden.
Avatar billede pouldc Nybegynder
30. januar 2004 - 18:21 #13
Altså hver eneste gang man åbner siden kommer pop-up'en... det er jo ikke så samrt at den skriver tak for din mail, når man er på vej ind på siden.

Desuden skriver den: " method="post">
Ude på selve siden, lige over formen.
Avatar billede eagleeye Praktikant
30. januar 2004 - 18:24 #14
Det lyder som om der er "rod" i koden prøv at vise noget mere for det skulle være fysisk umidligt at få pop-up frem uden der står mode=tak som querystring.
Avatar billede pouldc Nybegynder
30. januar 2004 - 18:28 #15
Formen...

                <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="post">
  <table cellpadding="5" cellspacing="0">
    <tr>
                        <td align="right" valign="middle" width="70"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Name:</font></td>
      <td width="152">
        <input type="text" name="navn">
      </td>
    </tr>
    <tr>
                        <td align="right" valign="middle" width="70"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Address:</font></td>
      <td width="152">
        <input type="text" name="adresse">
      </td>
    </tr>
    <tr>
                        <td align="right" valign="middle" width="70"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">Zip-code:</font></td>
      <td width="152">
        <input type="text" name="postnummer">
      </td>
    </tr>
    <tr>
                        <td align="right" valign="middle" width="70"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">City:</font></td>
      <td width="152">
        <input type="text" name="by">
      </td>
    </tr>
    <tr>
                        <td align="right" valign="middle" height="33" width="70"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">E-mail:</font></td>
      <td height="33" width="152">
        <input type="text" name="email">
      </td>
    </tr>
    <tr>
                        <td valign="top" align="right" width="70"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Order:</font></td>
      <td width="152">
        <textarea name="besked" cols="30" rows="10"></textarea>
      </td>
    </tr>
    <tr>
      <td align="right" valign="middle" width="70"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font></td>
      <td width="152">
        <input type="submit" name="Send" value="Order">
      </td>
    </tr>
  </table>
</form></font></td>
Avatar billede eagleeye Praktikant
30. januar 2004 - 18:33 #16
hvad har du kaldt din fil til efternavn??
Den hedder skal hedde .asp eller viker asp koden ikke. Hvis den hedder .html så skal det nok passe pop-up kommer hver gang.
Avatar billede pouldc Nybegynder
30. januar 2004 - 18:38 #17
haha, det var sku bare det... dum lille fejl, men mange tak for hjælpen!!!
Avatar billede eagleeye Praktikant
30. januar 2004 - 18:43 #18
Ok, jeg ligger lige et svar så :)
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