Problem mit CDONTS und gleichzeitiger Datenbankeintragung!

Zodiakaustulln

Grünschnabel
Hallo!

Erstmal, ich bin noch relativer Anfänger was ASP usw betrifft. Ich hab zwar bisher alles immer gelöst irgendwie, aber nur durch vieles suchen im Googel oder diversen Foren...

Nun stehe ich aber vor eine Problem, das ich nicht lösen kann, da ich keinen Schimmer mehr habe, wo ich den Fehler suchen soll - ichhab eigendlich schon alles mögliche ausprobiert.

Mein Problem:
Ich mochte im Intranet ein Feedbackformular erzeugen, indem die User eben Ihr Feedback eintragen, dieser Eintrag soll dann in einer Datenbank eingetragen werden und letztendlich möchte ich eine Benachrichtigung per Mail bekommen, das ein Eintrag getätigt wurde...
Wenn es noch möglich wäre, das der Eintragende auch eine Mail bekommt, zur Bestätigung, dann wär das natürlich noch besser, muss aber nicht zwingend sein.

So, jetzt ist es so, das ich einen erfolgreichen Datenbankeintragung habe, und sogar ein Mail bekomme, mit der Bestätigung das ein Eintrag gemacht wurde. Nur leider steht in diesem Mail lediglich die Betreffzeile, und im bodytext nur der Standarteintrag. Aber die vom User eingegeben Formulardaten werden nicht ausgewertet und im Mail mitgesendet...

Wo liegt da der Fehler, btw was mach ich falsch?

Ich arbeite mit ASP Skript und CDONTS Mail.

Bitte bitte, vl kann sich das ja mal einer ansehen - vielen Dank schon mal im Voraus!
Ich poste im Anschluss mal meinen Qualltext:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../../Connections/khintern.asp" -->
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Request.QueryString
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) = "Form") Then

MM_editConnection = MM_khintern_STRING
MM_editTable = "Feedback_Zeitung"
MM_editRedirectUrl = "../../Feedback/Feedback_gesendet_Zeitung.htm"
MM_fieldsStr = "Benutzername|value|Mail|value|Nachrichtentyp|value|Kommentar|value"
MM_columnsStr = "Benutzername|',none,''|Mail|',none,''|NachrichtenTyp|',none,''|Kommentare|',none,''"

' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")

' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next

' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close

If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If

End If
%>
<html>
<head>
<title>Feedback Formular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFCC" text="#000000">
<p><font color="#006600" size="4" face="Verdana, Arial, Helvetica, sans-serif">Feedback
<br>
<br>
</font></p>
<form action="<%=MM_editAction%>" method="POST" name="Form" id="Form">
<b></b> <br>
<table width="70%" border="0">
<tr bgcolor="#FFFFCC">
<td width="13%" align="center" valign="middle"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000"></font></b></td>
<td width="87%" align="left" valign="middle">&nbsp;</td>
</tr>
<tr bgcolor="#FFFFCC">
<td align="center" valign="middle"> <div align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Absender:</font></b></div></td>
<td align="left" valign="middle"> <input name="Benutzername" type="text" id="Benutzername" size="56">
</td>
</tr>
<tr bgcolor="#FFFFCC">
<td width="13%" align="center" valign="middle"> <div align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Email:</font></b></div></td>
<td width="87%" align="left" valign="middle"> <input name="Mail" type="text" id="Mail" size="56">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif"> ( falls vorhanden
)</font></td>
</tr>
<tr bgcolor="#FFFFCC">
<td width="13%" align="center" valign="middle"> <div align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Kategorie:</font></b></div></td>
<td width="87%" align="left" valign="middle"> <select name="Nachrichtentyp" id="Nachrichtentyp">
<option selected>Anregung</option>
<option>Beschwerde</option>
<option>Fehlermeldung</option>
</select> </td>
</tr>
<tr bgcolor="#FFFFCC">
<td width="13%" height="163" align="center" valign="middle"> <div align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#000000">Text:</font></b></div></td>
<td width="87%" height="163" align="left" valign="middle"> <textarea name="Kommentar" cols="50" rows="12" id="Kommentar"> </textarea>
</td>
</tr>
<tr bgcolor="#FFFFCC">
<td width="13%" align="center" valign="middle"> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif"><font size="2"><font size="2"><font color="#000000"><b></b></font></font></font></font></font></div></td>
<td width="87%" align="left" valign="middle"> <input type="submit" name="Abschicken" value="Weiter">
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">( damit der
Kommentar verarbeitet wird, bitte auf &quot;<em><strong>Weiter</strong></em>&quot;
klicken )</font></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="Form">
<%
Const cstCdoMailFormatMime = 1
Const cstCdoMailFormatText = 0

Const cstCdoBodyFormatHTML = 0
Const cstCdoBodyFormatText = 1

strBetreff = "Intranet Webserver - Eintragung Feedback Zeitung"
strNachricht = "Es wurde soeben ein Eintrag im Intranet vorgenomen." & VbCrLf
strNachricht = strNachricht & "Kategorie: Zeitung Feedback"
strNachricht = strNachricht & Request.Form("Benutzername") & vbcrlf & vbcrlf
strNachricht = strNachricht & Request.Form("Mail") & vbcrlf & vbcrlf
strNachricht = strNachricht & Request.Form("Nachrichtentyp") & vbcrlf & vbcrlf
strNachricht = strNachricht & Request.Form("Kommentar") & vbcrlf & vbcrlf
strEmpaenger = "webserver@donauklinikum.at"
strAbsender = "webserver@donauklinikum.at"

' Email abschicken:
Set objNewMail = CreateObject("CDONTS.NewMail")
objNewMail.MailFormat = cstCdoMailFormatText
objNewMail.BodyFormat = cstCdoBodyFormatText
objNewMail.From = strAbsender
objNewMail.To = strEmpaenger
objNewMail.Subject = strBetreff
objNewMail.Body = strNachricht
objNewMail.Send
Set objNewMail = Nothing
%>
</FORM>
<p>&nbsp; </p>
</body>
</html>


--> Wer kann mir da helfen und mir nen Tip geben, was zu tun ist? Danke!
 
Hallo Zodiakaustulln (wie gut das es c+p gibt) ;)

Hast Du mal geschaut, ob in strNachricht überhaupt was steht?
Was ist überhaupt der "Standardeintrag" im Body?
Wenn Du nicht sicher bist, ob oder was in einer Variablen steht, am besten immer mal ein kleines
Response.Write("Varaible: " & Variable) einbauen, um zu sehen, was drin steht.

So wie es in Deinem Script gemacht wird, kenne ich es nicht, meine Vorgehensweise ist folgende:
Code:
Mail = Request("TF_Mail") ' <input type="text" name="TF_Mail">
Nachricht = Request("TF_Nachricht") ' s.o.
Betreff = Request("TF_Betreff") 's.o.

	Set mymailobject = Server.CreateObject("CDONTS.NewMail")
	mymailobject.From         = "info@user-der-geschrieben-hat.de"
	mymailobject.Subject      = Betreff
	mymailobject.To           = "info@deine-emailadresse"
'	mymailobject.BCC          = "info@user-der-geschrieben-hat.de"
	mymailobject.Body         = "Inhalt:" & CHR(13) & Nachricht & CHR(13) & CHR(13) & "und so weiter"
	mymailobject.Send
Ich hoffe Du kommst damit weiter

Gruß

Torsten
 
Hallo Torsten!
Danke für deine Hilfe, aber ich habs mittlerweile gelöst!
War eigendlich ganz leicht,ich hab den Skriptteil der CDONTS Mails ganz nach oben gepackt, gleich hinter "<!--#include file="../../Connections/khintern.asp" -->"

Anscheinend hatte der insert ned geklappt - und der Befehl wurde nicht abbgearbeitet...

Nun klappts ganz gut .)
 

Neue Beiträge

Zurück