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

CDONT med formulär


BauerJack

Rekommendera Poster

Hej!

 

Försöker koppla ihop formulär med CDONT, har precis fått igång cdont-scriptet.

Jag har ju en massa info i formuläret som jag vill att cdont-scriptet ska fånga upp.

 

Någon som vet något.

 

 

ex. jag har ett fält i mitt formulär som kallas "antal", ska detta namn in i asp-scriptet eller ska man i scriptet skriva "fånga upp info från formulär"

 

Tack på förhand!

 

Länk till kommentar
Dela på andra webbplatser

Rest man Klaymen

Du fångar upp info från formulärfält med hjälp av Request.Form()

 

Så för att hämta texten i fältet "antal" skriver du

 

varAntal = Request.Form("antal")

 

sedan använder du variabeln varAntal i ditt CDONTS-script.

 

Länk till kommentar
Dela på andra webbplatser

Jag tror jag börjar förstå:

Hur använder jag Request.Form()

Deklarerar jag detta i html-koden, hur?

 

Länk till kommentar
Dela på andra webbplatser

Det har du redan gjort skulle man kunna säga.

I formuläret (ovrigt_offert.html) så har du ju t.ex:

<input name="Projektnamn" type="text" id="Projektnamn" size="39">

Detta tar du emot i skicka_form.asp med:

strProjektnamn = Request.Form("Projektnamn")

Det lägger du sedan till i mailets kropp. T.ex:[log]

<%
' Ta emot formulärvärden
strTo="mottagare@domän.se"
strFrom = Request.Form("Epost")
strSubj = Request.Form("subject")
strProj = Request.Form("Projektnamn")
strAnt = Request.Form("Ant")
strMat = Request.Form("Material")
strFtg = Request.Form("Foretag")
strRef = Request.Form("Referens")
strOrt = Request.Form("Ord")
strTel = Request.Form("Tel")
strFax = Request.Form("Fax")
strNextPage = Request.Form("redirect") 

' Kolla om det finns en avsändaradress att använda
IF strFrom="" THEN strFrom=strTo END IF

' Sätt ihop mailkroppen
strBody=""&_
  uCase(strProj)&_
  "=================================================="&vbCrLf&vbCrLf&_
  "ANTAL: "&strAnt&vbCrLf&_
  "MATERIAL: "&strMat&vbCrLf&vbCrLf&_
  "FÖRETAG: "&strFtg&vbCrLf&_
  "REFERENS: "&strRef&vbCrLf&_
  "ORT: "&strOrt&vbCrLf&_
  "TEL: "&strTel&vbCrLf&_
  "FAX: "&strFax&vbCrLf&_
  "EPOST: "&strFrom&vbCrLf&vbCrLf&_
  "=================================================="

' Skapa och skicka mailet
Set objMail = Server.CreateObject( "CDONTS.NewMail" )
objMail.To = strTo
objMail.From = strFrom
objMail.Subject = strSubj
objMail.Body = strBody
objMail.Host = "mailout.one.com"
objMail.Send
Set objMail = Nothing

' Skicke vidare till tacksidan
Response.Redirect(strNextPage)
%>

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

Kolla gärna källan och kommentera
Man ser ju som du säker vet enbart html-koden. Asp-kod ska man inte kunna se som utomstående.

 

Men i html-källan kan man iaf se att du har ett fält som heter Företag, du bör inte använda dig av å,ä,ö eller andra specialtecken.

Redirect-sidan tycker jag att du skall ange i asp-koden istället.

 

/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

Det var verkligen schysst att visa all den koden Tyvärr får jag inte ihop det riktigt ändå.

 

Jag har lag min aspkod utkommanderad i htmlfältet om du/någon ville titta på den.

 

Sen när detta fungerar s¨ska jag försöka ge mig på Chili!Upload, det blir en nöt att knäcka, jag vill nämligen att det ska gå bif fil från besökarens hårddisk.

 

Länk till kommentar
Dela på andra webbplatser

jag vill nämligen att det ska gå bif fil från besökarens hårddisk.

 

Det är inga problem, men användaren måste själv manuellt välja filen, det går inte att göra automatiskt via script.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Tyvärr får jag inte ihop det riktigt ändå.
Vad är det som inte funkar?

Får du något felmeddelande?

 

Jag har alltid lyckats slippa hålla på med Chili och Sun ASP så jag är inte helt säker (och kan inte testa) men något sån''t här borde funka:

http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp'>http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp

 

/Cluster

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

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

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

 

 

[inlägget ändrat 2007-11-22 09:22:52 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Du är ju grym på detta, tyvärr fungerar det inte perfekt ännu.

Jag bytte ut dummie-epost/smtp mot min epost och min smtp-domän

 

Felmeddelande enl följande:

 

Technical Information (for support personnel)

 

Error Type:

Sun ONE ASP VBScript runtime (0x800A01B6)

Object does not support this property or method: 'IsFile'

/asp/skicka_form.asp, line 39

 

Browser Type:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; sv-se) AppleWebKit/419.3 (KHTML, like Gecko) Safari/419.3

 

Page:

POST 1253 bytes to /asp/skicka_form.asp

POST Data:

. . .

 

Time:

Thursday, November 22, 2007, 9:33:13 AM

 

More information:

Sun ONE Active Server Pages Support

 

 

??

 

Länk till kommentar
Dela på andra webbplatser

OK, testa att ändra till:

' Ta emot fil att bifoga, sparas på servern
Set fbase = Server.CreateObject("Chili.Upload.1")
   fbase.SizeLimit = 10000
   strFileName = fbase.FileName
   strPathToFile = Server.MapPath("/") & "/" & strFileName
   fbase.SaveToFile(strPathToFile)
Set fbase = Nothing

Samt lite längre ned:

' Ta bort filen från servern
Set objFs = Server.CreateObject("Scripting.FileSystemObject") 
If objFs.FileExists(strPathToFile) Then
  objFs.DeleteFile(strPathToFile)
End If
Set objFs = Nothing

 

/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

Ändra:

strFileName = fbase.FileName

till:

strFileName = fbase.SourceFileName(false)

 

/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

Det står:

 

strFileName = fbase.SourceFileName(false)

 

 

 

Jag upptäckte också att jag skrivit följande i htmlfilen:

 

function Request.Form() {

varAntal = Request.Form("antal");

}

 

Känns fel

[inlägget ändrat 2007-11-22 15:08:49 av BauerJack]

Länk till kommentar
Dela på andra webbplatser

Jag upptäckte också att jag skrivit följande i htmlfilen
Ja det ser helt galet ut. Inte för att jag tror att det skall spela in här (men du får antagligen javaskriptfel), ta bort det.

 

Har uppdaterat koden något, testa:

http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp'>http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp

 

/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

Måste säga att jag tycker du är otroligt bussig som hjälper en råamatör som mig.

Tyvärr gick inte formuläret igenom denna gång heller.

 

Line 41 säger:

strFileName = fbase.Sourcefilename(False)

 

 

Felkod i webbläsaren:

# Error Type:

Chili.Upload.1 (0x80004005)

Form does not contain a file element.

/asp/skicka_form.asp, line 41

 

# 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 4954 bytes to /asp/skicka_form.asp

 

# POST Data:

. . .

 

# Time:

Thursday, November 22, 2007, 8:27:23 PM

 

 

 

Länk till kommentar
Dela på andra webbplatser

Märkligt, nåja då får vi testa att bara spara filen utan att veta vad den heter

byt ut till:

' Ta emot fil att bifoga, sparas på servern
SET fbase = Server.CreateObject("Chili.Upload.1")
fbase.SizeLimit = 100000
'strFileName = fbase.Sourcefilename(false)
strFileName="bilaga_"&Replace(date,"-","") 'Test
strPathToFile = Server.MapPath("/") & "/" & strFileName
fbase.SaveToFile(strPathToFile)
IF fbase.FileSize>0 THEN
  bolGotFile=True
ELSE
  bolGotFile=False
END IF
SET fbase = Nothing

 

/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

Tyvärr samma fel:

 

Error Type:

Chili.Upload.1 (0x80004005)

Form does not contain a file element.

/asp/skicka_form.asp, line 44

 

Länk till kommentar
Dela på andra webbplatser

Ok, om du skapar två nya filer och testar med SUN's egna exempelkod:

testForm.asp

[log]

<html>
<head>
<title>Chili!Upload Test</title>
</head>
<body>
<FORM ACTION="testSend.asp" METHOD="POST" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE">
<INPUT TYPE="SUBMIT" VALUE="Send">
</FORM>
</body>
</html>

[/log]

testSend.asp[log]

<%
Response.Expires = 0
Set fbase = Server.CreateObject("Chili.Upload.1")
fbase.SizeLimit = 10000
fbase.SaveToFile(Server.mapPath("/") & "/" & "test.dat")
%>
Done writing <%=fbase.FileSize%> bytes from user file
<%=fbase.SourceFileName%> (of type <%=fbase.SourceFileExtension%>)

[/log]

Laddas då filen upp (kommer heta 'test.dat' och ligga i samma mapp som 'testSend.asp')?

 

/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

Verkar fungera men filen ligger inte på servern vad jag kan se.

Får följande meddelande i webbläsaren(jag skickade en textfil som heterAdresser):

Done writing 980 bytes from user file Adresser.rtf (of type rtf)

 

Länk till kommentar
Dela på andra webbplatser

Lägg till sist i testSend.asp:

Response.Write Server.mapPath("/") & "/" & "test.dat"

Så ser du i var filen placerades.

 

/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

Joooo!

 

Det fungerar skitbra, filen låg i root-bilblioteket och jag var tvungen att uppdatera innan jag hittade den.

 

Går detta implementera i min kod så att den skickar med den i mailet från formuläret?

 

Länk till kommentar
Dela på andra webbplatser

Antar att detta borde funka (tillsammans med ditt ursprungliga formulär):

http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp'>http://eforum.kicks-ass.net/codeview/?file=BauerJack_sendForm.asp

 

Är förövrigt riktigt trött på Sun One.... Tacka vet jag IIS!

 

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