Just nu i M3-nätverket
Gå till innehåll

CDONT med formulär


BauerJack

Rekommendera Poster

Cluster, you did it!!!

 

Det fungerar perfekt, informationen och den bifogade filen hänger med.

 

STORT TACK!

 

 

//Mattias

 

Länk till kommentar
Dela på andra webbplatser

Så kul att det fungerade till slut. :)

 

En liten förändring bara (hantera om man inte vill bifoga någon fil), så här skall det se ut:[log]

' Ta emot uppladdad fil
upload.SizeLimit = 100000
strFileName = upload.Sourcefilename(false)
strPathToFile = Server.MapPath("/") & "/" & strFileName
IF upload.FileSize>0 THEN
  bolGotFile=True
  upload.SaveToFile(strPathToFile)
ELSE
  bolGotFile=False
END IF

[/log]

 

/Cluster

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

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

 

Länk till kommentar
Dela på andra webbplatser

Perfekt, nu blir det ännu bättre.

 

 

Om vi ska testa att göra formuläret ännu bättre.

 

Tanken är då att man ska kunna välja i formuläret mellan tre olika

personer att skicka till.

Gubbe1

Gubbe2

Gubbe3

 

Är detta avancerat?

 

 

Länk till kommentar
Dela på andra webbplatser

Nej, då byter du ut textrutan för epostadressen till en select-lista.

<select name="Epost">
<option value="aaa@aa.aa">aaa@aa.aa</option>
<option value="bbb@bb.bb">bbb@bb.bb</option>
<option value="ccc@cc.cc">ccc@cc.cc</option>
</select>

Byt ut till riktiga epostadresser!

 

Länk till kommentar
Dela på andra webbplatser

Ska jag göra detta i html-filen?

 

Det står ju fortfarande i asp-filen:

 

strTo = "namn@domän.se"

 

??

 

Länk till kommentar
Dela på andra webbplatser

Jag som inte kollade riktigt i koden.

 

Ha kvar textrutan som besökaren ska skriva in Sin epostadress.

Lägg till selectlisten på html-sidan för att kunna välja Vem man vill skicka mailet till.

Döp selectlisten till ToEpost.

 

I Asp-koden ändrar du till:

strTo = upload.FormData("ToEpost")

 

Länk till kommentar
Dela på andra webbplatser

Verkade väldigt logiskt men blev fel:

 

Webbläsaren säger

 

# Error Type:

Sun ONE ASP VBScript runtime (0x800A01A8)

Object required: 'upload'

/form/skicka_form.asp, line 5

 

 

 

Länk till kommentar
Dela på andra webbplatser

Miss igen :)

Måste skapa objektet innan!

 

Ändra:

' Ange mottagare och mailserver
strTo   = "mottagare@mydomain.net"
strServer = "smtp.mydomain.net"

' Skapa upload-objektet
Set upload = Server.CreateObject("Chili.Upload.1")

 

till:

' Skapa upload-objektet
Set upload = Server.CreateObject("Chili.Upload.1")

' Ange mottagare och mailserver
strTo   = upload.FormData("ToEpost")
strServer = "smtp.mydomain.net"

 

Länk till kommentar
Dela på andra webbplatser

För att undvika att denna funktion blir en spamserver så bör du ange mottagaren i asp-koden (utifrån val gjorda i formuläret). Dvs. inte ta emot en e-postadress som mottagare.

 

i formuläret t.ex.:

<select name="department">
 <option value="sales">Säljavdelningen</option>
 <option value="support">Support</option>
 <option value="manufacture">Tillverkning</option>
</select>

Sen i asp-koden sätter du e-postadress utifrån de val man gör i formuläret:

strFrom = Trim(upload.FormData("department"))
SELECT Case strFrom
  Case "sales" strFrom="sales@mydomain.net"
  Case "support" strFrom="support@mydomain.net"
  Case "manufacture" strFrom="tillverkning@mydomain.net"
  Case Else strFrom="info@mydomain.net"
END SELECT

Se även http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp'>http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp för helheten i asp-koden.

 

/Cluster

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

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

Oj, nu säger den :

 

* Error Type:

Sun ONE ASP VBScript runtime (0x8000FFFF)

/asp/skicka_form.asp, line 64

 

* Browser Type:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; sv-SE; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9

 

* Page:

POST 2828 bytes to /asp/skicka_form.asp

 

* POST Data:

 

Request object error 'ASP 0207 : 80004005'

 

Cannot use Request.Form

 

/asp/skicka_form.asp, line 183

 

Cannot use Request.Form collection after calling BinaryRead.

 

Länk till kommentar
Dela på andra webbplatser

Det är något som inte stämmer:

 

* Error Type:

ChiliUpload.FormData.1 (0x80020009)

File already exists.

/asp/skicka_form.asp, line 54

 

* Browser Type:

Mozilla/5.0 (Macintosh; U; Intel Mac OS X; sv-SE; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9

 

* Page:

POST 2854 bytes to /asp/skicka_form.asp

 

* POST Data:

 

Request object error 'ASP 0207 : 80004005'

 

Cannot use Request.Form

 

/asp/skicka_form.asp, line 183

 

Cannot use Request.Form collection after calling BinaryRead.

 

??

 

Länk till kommentar
Dela på andra webbplatser

Request.Form skall inte finnas någonstans i filen. Se min kod på samma länk som tidigare.

 

Du kan även prova att lägga till

upload.AllowOverwrite = true

(rad 53 i koden på länken som ovan).

 

/Cluster

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

Ditt vetande är värdelöst om inte andra vet att du vet

-----------> http://eforum.kicks-ass.net <------------

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...