306: OBJConn.close
307: SendDatasToAdmin
308: strings = "Request received!\n\nThank you very much!"
309: call showinfo(strings,"",0)
310:
311: end function
程序说明
第232~245行:检查用户是否已经填写必需的相关内容。
第251行:在将资料写入到表之前,先检查表中是否已经存在相同的记录。如果已经有,则跳过资料写入程序,直接进入以 CDO发送详细资料需求的程序。
第258~276行:根据用户选择的联系方式来判断用户是否输入了必须输入的资料。如果在此程中检查到问题,将会调用子程序“ShowInfo”,并将画面转回上一页。
第280~301行:根据用户输入的资料内容,动态产生即将执行的SQL Query内容。
第307行:调用子程序“SendDatasToAdmin”,将用户所填写的信息、感兴趣的产品信息以E-Mail的方式转发到负责处理用户需求的管理员电子信箱中。
第308~309行:用javascript显示传送完成的信息。
14-6-6 以E-Mail 转发用户需求
本段程序是在后台执行的程序代码,如希望取得执行的结果,必须以各种收信软件来验证。在第13章已经详细介绍过如何编写CDO对象的程序。以下是这段程序的内容以及说明。
MoreInfo.asp 程序段
313:
314: function SendDatasToAdmin
315: Set OBJConn = Server.CreateObject("ADODB.Connection")
316: OBJConn.Open "Trade", "test", "test1"
317: SQL = "Select * from 系统信息"
318: On Error Resume Next
319: Set Rs = OBJConn.Execute(SQL)
320: MailOut = rs.fields("邮件转发")
321: MailServer = rs.fields("邮件服务器")
322: AdminEmail = rs.fields("管理员信箱")
323: OBJConn.Close
324:
325: Set CDO = Server.CreateObject("CDO.Message")
326:
327: CDO.From = MailOut
328: CDO.To = AdminEmail
329: CDO.Subject = "来自 Web 主机的详细资料需求!(From Web Site, More Information Request!)"
330:
331: ' 信件内容
332: SQL = "用户基本信息如下:" & chr(10) & chr(10)
333: SQL = SQL & "姓 名:" & trim(request.form("name")) & chr(10)
334: if trim(request.form("Gender")) <> "" then
335: SQL = SQL & "国 别:" & request.form("Country") &chr(10)
336: SQL = SQL & "性 别:" & request.form("Gender") & chr(10)
337: SQL = SQL & "公司名称:" & trim (request.form("companyname")) & chr(10)
338: SQL = SQL & "公司地址:" & trim (request.form("address")) & chr(10)
339: SQL = SQL & "部门名称:" & trim (request.form("department")) & chr(10)
340: SQL = SQL & "职 称:" & trim(request.form("title")) & chr(10)
341: SQL = SQL & "电 话:" & trim(request.form("telno")) & chr(10)
342: SQL = SQL & "分机号码:" & trim(request.form("ext")) & chr(10)
343: SQL = SQL & "传 真:" & trim(request.form("faxno")) & chr(10)
344: SQL = SQL & "E-Mail :" & trim(request.form("email")) & chr(10)
345: else
346: Strings = SQL
347: Set OBJConn = Server.CreateObject("ADODB.Connection")
348: OBJConn.Open "driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("db/mydb.mdb")
349: SQL = "Select * from 用户基本信息 Where 编号 = " & UserNo
350: On Error Resume Next
351: Set Rs = OBJConn.Execute(SQL)
352:
353: SQL = Strings
354: SQL = SQL & "国 别:" & rs.fields("国家") &chr(10)
355: SQL = SQL & "性 别:" & rs.fields("性别") & chr(10)
356: SQL = SQL & "公司名称:" & rs.fields("公司名称") & chr(10)
357: SQL = SQL & "公司地址:" & rs.fields("公司地址") & chr(10)
358: SQL = SQL & "部门名称:" & rs.fields("部门名称") & chr(10)
359: SQL = SQL & "职 称:" & rs.fields("职称") & chr(10)
360: SQL = SQL & "电 话:" & rs.fields("公司电话") & chr(10)
361: SQL = SQL & "分机号码:" & rs.fields("分机号码") & chr(10)
362: SQL = SQL & "传 真:" & rs.fields("传真号码") & chr(10)
363: SQL = SQL & "E-Mail :" & rs.fields("电子邮件") & Chr(10)
364: OBJConn.Close
365: end if
366:
367: SQL = SQL & "备 注:" & chr(10)
368: SQL = SQL & " ===================== " & chr(10)
369: SQL = SQL & request.form("memo") & chr(10) & chr(10)
370: SQL = SQL & " ======================================== ==================================" & chr(10) & chr(10)
371: SQL = SQL & "在 " & date & " 对于下列产品产生详细的资料需求" & chr(10) & chr(10)
372:
373: for i = 0 to request.form("TotalProducts")
374: if request.form("MoreInfo" & i) = "on" then
375: SQL = SQL & chr(10) & "产品编号:" & request.form("MoreInfoValue" & I ) & chr(10)
376: SQL = SQL & "产品名称:" & request.form("Products" & I ) & chr(10)
377: SQL = SQL & "
================================================================" & chr(10)
378: end if
379: next
380: CDO.TextBody = SQL
381: CDO.Send
382:
383: Set CDO = Nothing
384: end function
385: %>
程序说明
第317~322行:从“系统信息”表中,取出与CDO对象相关的信息。这些信息包括:
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页