webForumDet fria alternativet

action i formulär...

ASP

22 svar · 528 visningar · startad av snajgel

Medlem sedan juni 2001845 inlägg
Frågan#1

kan man ha 2 st actions till ett formulär?
typ:

<form method="POST" action="add.asp" action="sendmail.asp">

fast just d där fungerar inte, det borde gå på nått annat sätt...

det jag vill är att den både ska lägga till posten i db'n och skicka ett mail till någon...
just nu använder jag cdonts i sendmail.asp..

Medlem sedan juni 200032 967 inlägg
#2

Du får väl låta action-filen göra mer än en sak?
Annars kan du använda server.transfer för att förflytta från den ena mottagarsidan till den andra.

Medlem sedan juni 2001845 inlägg
#3

vadå? ska jag lägga add.asp och sendmail.asp i samma fil?

Medlem sedan juni 200032 967 inlägg
#4

Tja, en asp-fil kan göra mer än en sak.
Annars, som sagt, server.transfer.

mvh

Medlem sedan juni 2001845 inlägg
#5

förstår inte.... :( hur skulle d c ut? är inte så grym på d här...
har testat att slå ihop mina filer på lite olika sätt, men jag får inte nått mail, d skrivs dock in i db'n...
finns det någon som kan ge mig ett exempel?

Medlem sedan feb. 200112 078 inlägg
#6

Visa koden i de båda filerna, kanske?

Medlem sedan juni 2001845 inlägg
#7

oj.. sorry...
add.asp

<!-- #include file="adovbs.inc" -->

<%	Set Connect = Server.CreateObject("ADODB.Connection")
	Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("db/kontobest.mdb")

	Set RecSet = Server.CreateObject("ADODB.Recordset")
   Addera = "SELECT * FROM kontobest"

   RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

	RecSet.AddNew

	RecSet("Fornamn") = Request.Form("fornamn")
	RecSet("Efternamn") = Request.Form("efternamn")
	RecSet("Titel") = Request.Form("titel")
	RecSet("Avd") = Request.Form("avd")
	RecSet("tele") = Request.Form("tele")

	RecSet.Update
	RecSet.Close
	Connect.Close %>

Följande uppgifter har nu lagts till:<p>

Förnamn:<br><b><% =Request.Form("fornamn") %></b><p>
Efternamn:<br><b><% =Request.Form("efternamn") %></b><p>
Titel:<br><b><% =Request.Form("titel") %></b><p>
Avdelning:<br><b><% =Request.Form("avd") %></b><p>
Tele:<br><b><% =Request.Form("tele") %></b><p>

Lägg till <a href="default.asp">fler poster</a>.

sendmail.asp

<%
response.buffer = true
message = "The following data was submitted:"
message = message & vbcrlf & vbcrlf
for each item in request.form
message = message & item & ": " & request.form(item) & vbcrlf
next
set mailer = server.createobject("CDONTS.NewMail")
mailer.subject = "konobeställning"
mailer.from = request.form("email")
mailer.to = "mail@domain.se" 
mailer.body = message
mailer.send
set mail = nothing
response.redirect("tack.asp") 
%>
Medlem sedan feb. 200112 078 inlägg
#8

Om du bara lägger ihop dem såhär, vad händer då? Varifrån kommer request.form("email") ? Finns den i formuläret?

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("db/kontobest.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM kontobest"

RecSet.Open Addera, Connect, 3, 3

RecSet.AddNew

RecSet("Fornamn") = Request.Form("fornamn")
RecSet("Efternamn") = Request.Form("efternamn")
RecSet("Titel") = Request.Form("titel")
RecSet("Avd") = Request.Form("avd")
RecSet("tele") = Request.Form("tele")

RecSet.Update
RecSet.Close
Connect.Close 

'# send mail #
message = "The following data was submitted:"
message = message & vbcrlf & vbcrlf
for each item in request.form
message = message & item & ": " & request.form(item) & vbcrlf
next
set mailer = server.createobject("CDONTS.NewMail")
mailer.subject = "konobeställning"
mailer.from = request.form("email")
mailer.to = "mail@domain.se" 
mailer.body = message
mailer.send
set mail = nothing
%>

Följande uppgifter har nu lagts till:<p>

Förnamn:<br><b><% =Request.Form("fornamn") %></b><p>
Efternamn:<br><b><% =Request.Form("efternamn") %></b><p>
Titel:<br><b><% =Request.Form("titel") %></b><p>
Avdelning:<br><b><% =Request.Form("avd") %></b><p>
Tele:<br><b><% =Request.Form("tele") %></b><p>

Lägg till <a href="default.asp">fler poster</a>. <br><br>
Medlem sedan juni 2001845 inlägg
#9

hehe... det där funkade, men när du frågade insåg jag att det måste finnas med "email" på forumulärsidan.... *suck* :stud

tack så mycket... :bire

Medlem sedan juni 2001845 inlägg
#10

kom på en grej... en lite forts.
Om man har en checkbox i formuläret och vill att det ska gå iväg mail till en annan adress oxå när den är ikryssad,
hur ska man lösa d?

Medlem sedan feb. 200112 078 inlägg
#11
<input type="checkbox" name="blnMail">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("db/kontobest.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM kontobest"

RecSet.Open Addera, Connect, 3, 3

RecSet.AddNew

RecSet("Fornamn") = Request.Form("fornamn")
RecSet("Efternamn") = Request.Form("efternamn")
RecSet("Titel") = Request.Form("titel")
RecSet("Avd") = Request.Form("avd")
RecSet("tele") = Request.Form("tele")

RecSet.Update
RecSet.Close
Connect.Close 

[b]if cstr(request.form("blnMail")) = "on" then [/b]

'# send mail #
message = "The following data was submitted:"
message = message & vbcrlf & vbcrlf
for each item in request.form
message = message & item & ": " & request.form(item) & vbcrlf
next
set mailer = server.createobject("CDONTS.NewMail")
mailer.subject = "konobeställning"
mailer.from = request.form("email")
mailer.to = "mail@domain.se" 
mailer.body = message
mailer.send
set mail = nothing

[b]end if[/b]
%>

Följande uppgifter har nu lagts till:<p>

Förnamn:<br><b><% =Request.Form("fornamn") %></b><p>
Efternamn:<br><b><% =Request.Form("efternamn") %></b><p>
Titel:<br><b><% =Request.Form("titel") %></b><p>
Avdelning:<br><b><% =Request.Form("avd") %></b><p>
Tele:<br><b><% =Request.Form("tele") %></b><p>

Lägg till <a href="default.asp">fler poster</a>. <br><br>
Medlem sedan juni 2001845 inlägg
#12

men ska man ha 1 "'# send mail#" för varje adress man ska skicka till eller?

Medlem sedan feb. 200112 078 inlägg
#13

Den raden en kommentar i koden, den gör ingenting, förutom visar var e-mailfunktionen börjar. Du kan ta bort den ifall du vill.

Skall du skicka till fler mottagare är det nog bättre att lägga till dem i samlingen AddRecipient. Alltså:

mailer.to = "mail@domain.se" 
mailer.AddRecipient = "banan@rikard.se"
mailer.AddRecipient = "apple@bire.nu"
mailer.AddRecipient = "morot@snabelanders.com"
Medlem sedan juni 2001845 inlägg
#14

men d jag vill uppnå är att formuläret ska alltid skickas till mig@domain.se, men om en viss checkbox är ikryssad så ska den även skicka till dig@domain.se

är du me?

Medlem sedan feb. 200112 078 inlägg
#15
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("db/kontobest.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM kontobest"

RecSet.Open Addera, Connect, 3, 3

RecSet.AddNew

RecSet("Fornamn") = Request.Form("fornamn")
RecSet("Efternamn") = Request.Form("efternamn")
RecSet("Titel") = Request.Form("titel")
RecSet("Avd") = Request.Form("avd")
RecSet("tele") = Request.Form("tele")

RecSet.Update
RecSet.Close
Connect.Close 

'# send mail #
message = "The following data was submitted:"
message = message & vbcrlf & vbcrlf
for each item in request.form
message = message & item & ": " & request.form(item) & vbcrlf
next
set mailer = server.createobject("CDONTS.NewMail")
mailer.subject = "konobeställning"
mailer.from = request.form("email")
mailer.to = "mig@domain.se" 
[b]   if cstr(request.form("blnMail")) = "on" AND request.form("email") <> "" then 
      mailer.AddRecipient = request.form("email")
   end if[/b]
mailer.body = message
mailer.send
set mail = nothing

%>

Följande uppgifter har nu lagts till:<p>

Förnamn:<br><b><% =Request.Form("fornamn") %></b><p>
Efternamn:<br><b><% =Request.Form("efternamn") %></b><p>
Titel:<br><b><% =Request.Form("titel") %></b><p>
Avdelning:<br><b><% =Request.Form("avd") %></b><p>
Tele:<br><b><% =Request.Form("tele") %></b><p>

Lägg till <a href="default.asp">fler poster</a>. <br><br>
Medlem sedan juni 2001845 inlägg
#16

får felmedelande:

Error Type:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method: 'mailer.AddRecipient'
/kontobest/add2.asp, line 49

:(
så här ser det ut...
checkboxen heter "cambio"

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("db/kontobest.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM kontobest"

RecSet.Open Addera, Connect, 3, 3

RecSet.AddNew

RecSet("Fornamn") = Request.Form("fornamn")
RecSet("Efternamn") = Request.Form("efternamn")
RecSet("Titel") = Request.Form("titel")
RecSet("Avd") = Request.Form("avd")
RecSet("Tele") = Request.Form("tele")
RecSet("Ansnamn") = Request.Form("ansnamn")
RecSet("Ansemail") = Request.Form("ansemail")

RecSet.Update
RecSet.Close
Connect.Close 

'# send mail #
message = "The following data was submitted:"
message = message & vbcrlf & vbcrlf
for each item in request.form
message = message & item & ": " & request.form(item) & vbcrlf
next
set mailer = server.createobject("CDONTS.NewMail")
mailer.subject = "konobeställning"
mailer.from = request.form("ansemail")
mailer.to = "mig@domain.se" 
mailer.AddRecipient = "dig@domain.se"
if cstr(request.form("cambio")) = "on" AND request.form("ansemail") <> "" then 
      mailer.AddRecipient = request.form("ansemail")
   end if

mailer.body = message
mailer.send
set mail = nothing
%>
Medlem sedan dec. 20003 887 inlägg
#17

CDONTS har ingen AddRecipient-metod?

Testa följande:

strTo = cstr(mailer.to)
if cstr(request.form("cambio")) = "on" AND request.form("ansemail") <> "" then 
    strTo = strTo & ";" & request.form("ansemail")
end if
mailer.to = strTo
Medlem sedan juni 2001845 inlägg
#18

men var och hur ska jag skriva den andra mailadressen?
nu får ursäkta men jag e inte helt me på de här... ;)

Medlem sedan feb. 200112 078 inlägg
#19

CDONTS har ingen AddRecipient-metod?

Hrm, skumt. Jag tog det ur ett kodexempel här på wF som verkade fungera.. :o

Men jag kan inte CDONTS så bra så. ;)

Medlem sedan dec. 20003 887 inlägg
#20

snajgel skrev:

men var och hur ska jag skriva den andra mailadressen?
nu får ursäkta men jag e inte helt me på de här... ;)

På formulärssidan... om du klickar i en box, som innebär att du vill skicka till flera kan du ju ha en input där i vilken du skriver in den andra mailadressen.

OveRRidE skrev:

Men jag kan inte CDONTS så bra så.

Jag kan det inte alls :)

263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)