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

Sparar inte till databasen, men ger inget fel heller...


menhir

Rekommendera Poster

Jag lade till Jmail så att man får ett mail varje gång en annons lagts in och då blev annonsUpload.asp följande:

<%
SET Upload = Server.CreateObject("Persits.Upload.1")

Upload.OverwriteFiles = False
'On Error Resume Next

Upload.SetMaxSize 520000   ' Limit files to 0,5MB
strBasePath = Server.MapPath("/gutefar")
strImagePath = strBasePath &"\bilder"
Count = Upload.Save(strImagePath)

If Err.Number = 8 Then
  strNextPage="annonserForm.asp?error=Filesize"
Else
  If Err <> 0 Then
     strNextPage="annonserForm.asp?error=Other"
     Session("ErrDesc")=Err.Description
  Else
     FOR Each item IN Upload.Form
        strVar = cStr(Trim(item.name&" "))
        strVal = cStr(Trim(item.value&" "))
        IF (strVar<>"Annonsbild" AND strVar<>"Tidning") AND strVal="" THEN
           strMissing=strMissing&strVar&","
        ELSE
           IF strVar="AnnonsText" THEN
              Session("AnnonsText")=strVal
           ELSE
              qStr=qStr&"&"&strVar&"="&Server.URLEncode(strVar)   
           END IF
        END IF 
        strVal = Replace(strVal,chr(34),"&quot;")
        strVal = Replace(strVal, vbCrLf, chr(10))
        strMakeVar = strVar&"="""&strVal&""""      
        Execute(strMakeVar)
     Next
     IF strMissing<>"" THEN    
        strMissing=Left(strMissing,Len(strMissing)-1) 
        strNextPage="annonserForm.asp?error=MissingInfo&Missing="&strMissing&qStr
     ELSE
        Annonstext = Replace(Trim(Annonstext),"|",vbCrLf)
        IF Count=1 THEN
           SET File = Upload.Files("Annonsbild")
           Annonsbild = File.FileName
           SET File = Nothing
        ELSE
           Annonsbild = ""
        END IF
        IF lCase(cStr(Tidning)) = "true" THEN 
           Tidning = 1
        Else 
           Tidning = 0
        End If

        SET objConn = Server.CreateObject("ADODB.Connection")
        connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&strBasePath&"\annonser.mdb"
        objConn.open connStr
        sqlStmt = "INSERT INTO Annonser (Datum, Rubrik, AnnonsText, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
        SET cmd = server.createobject("ADODB.command") 
        cmd.activeConnection = objConn 
        cmd.CommandText = SQLStmt 
        SET objRS = cmd.Execute (, array(Now(),Rubrik, AnnonsText, Annonsbild, SaljareNamn, SaljareAdress, SaljarePostnr, SaljareOrt, SaljareLandskap, SaljareEpost, SaljareTelefon, SaljareMobil, Tidning)) 
        SET objRS = Nothing
        SET objRS = objConn.Execute("SELECT @@IDENTITY")
        strAdId = objRS(0)
        SET objRS = Nothing
        SET cmd = Nothing
        objConn.Close
        SET objConn = Nothing

        IF Err <> 0 THEN
           strNextPage="annonserForm.asp?error=Other"
           Session("ErrDesc")=Err.Description
        ELSE
           strNextPage="annonserResult.asp?status=saved&adId=" & strAdId
        END IF

     END IF 'Missing input

  END IF ' Other Error

END IF ' Filesize

SET Upload = Nothing


' Skicka mail om att ny annons ska godkännas
 set msg = Server.CreateOBject("JMail.Message")

 msg.Logging = true
 msg.silent = true

 msg.AddRecipient "info@dindomän.se", "Mottagarens namn"

 msg.From = "info@dindomän.se"
 msg.FromName = "Gutefårets hemsida"

 msg.Subject = "Ny annons finns på Gutefårets hemsida"
 msg.Body = "V g kontrollera annonsen!"

 msg.MailServerUserName = "info@dindomän.se"
 msg.MailServerPassword = "xxx"

 If not msg.Send("smtp.dindomän.se:587") Then
   Response.write "<pre>" & msg.log & "</pre>"
 Else
     Response.write "Meddelandet sänt!"
 End If


Response.Redirect(strNextPage)
%>

 

Känsliga uppgifter som e-post och lösen är ersatta av 'dindomän' och 'xxx'.

 

Länk till kommentar
Dela på andra webbplatser

Fast så som du nu har det så skickas det väl mail även om inte annonsen sparas (t.ex. om man glömt att fylla i något)?

Det kanske inte är riktigt optimalt :)

 

/Cluster

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

I do not fear computers. I fear the lack of them

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

 

Länk till kommentar
Dela på andra webbplatser

Nej, jag kom på det själv men glömde rätta här i forat. Jmail delen ligger nu istället precis under raden

strNextPage="annonserResult.asp?status=saved&adId=" & strAdId

;)

 

Länk till kommentar
Dela på andra webbplatser

  • 3 veckor senare...

Hej igen!

 

Jag har upptäckt ett litet problem med koden ovan som Cluster så vänligt publicerade här. I filen annonserUpload.asp finns en funktion som skickar besökaren tillbaka till formuläret om obligatoriska fälten inte är ifyllda. Problemet som upptäckts är att den information man redan angett ersätts med fältens namn när obligatoriska fält missats. Om man som rubrik angett 'Solen Skiner' ersätts det med fältnamnet 'Rubrik' när man kommer tillbaka till formuläret.

 

Problemet förekommer inte i den version som finns i inlägget från den 12 augusti, utan först i den version som finns i inlägget från den 13 augusti där " ersätts med html-koden för citationstecken.

 

Kan någon hjälpa till att hitta en lösning?

 

Fortsatt trevlig helg!

 

Länk till kommentar
Dela på andra webbplatser

Ändra:

qStr=qStr&"&"&strVar&"="&Server.URLEncode(strVar)

till:

qStr=qStr&"&"&strVar&"="&Server.URLEncode(strVal)

 

/Cluster

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

I do not fear computers. I fear the lack of them

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