2013-05-01 5 views
1

이전/기존 버전의 ColdFusion MX7을 사용하여 양식 결과를 제출하고 PHP를 실행하려고합니다. 나는 단지 하나의 이메일을 위해 일하고있다. 그러나 실제로 다른 사람이 드롭 다운 메뉴에서 선택한 내용에 따라 다른 전자 메일을 보내야합니다. 완성 된 HTML 기반 양식을 올바른 전자 메일에 보내려면 어떤 코드를 사용해야할지 모르겠습니다.선택 상자를 기반으로 이메일 보내기

코드 :

<cfif isdefined("FORM.send") and FORM.send eq "Send"> 
    <cfmail from="ContactForm" to="[email protected]" subject="SimpleForm" type="html"> 
    Name: #FORM.TXTNAME# 
    Business Name: #FORM.TXTBUSINESSNAME# 
    Email: #FORM.TXTEMAIL# 
    Phone: #FORM.TXTPHONE# 
    Comment: #FORM.TXTCOMMENT# 
    Date/Time Sent: #dateformat(now(), "yyyy/mm/dd")# at #timeformat(now(), "HH:mm:ss tt")# 
    </cfmail> 
</cfif> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Simple Contact Form</title> 
</head> 

<body> 
<fieldset> 
    <legend>Contact Form</legend> 
    <form id="simpleForm" name="simpleForm" method="post" action=""> 
    <table width="100%" border="0" cellspacing="0" cellpadding="4"> 
     <tr> 
      <td width="20%" align="right">Name:</td> 
      <td width="80%"><input type="text" name="txtName" id="txtName" /></td> 
     </tr> 
     <tr> 
      <td align="right">Business Name:</td> 
      <td><input type="text" name="txtBusinessName" id="txtBusinessName" /></td> 
     </tr> 
     <tr> 
      <td align="right">Email:</td> 
      <td><input type="text" name="txtEmail" id="txtEmail" /></td> 
     </tr> 
     <tr> 
      <td align="right">Phone:</td> 
      <td><input type="text" name="txtPhone" id="txtPhone" /></td> 
     </tr> 
     <tr> 
      <td align="right" valign="top">Comment:</td> 
      <td><textarea name="txtComment" id="txtComment" cols="45" rows="5"></textarea></td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><hr width="100%" size="1" /></td> 
     </tr> 
     <tr> 
      <td>&nbsp;</td> 
      <td><input type="submit" name="send" id="send" value="Send" /></td> 
     </tr> 
    </table> 


<SELECT SIZE="1" name="team"> 
<OPTION>Select your team</OPTION> 
<OPTION VALUE="teama" name="teama">Team A</OPTION> 
<OPTION VALUE="teamb" name="teamb">Team B</OPTION> 
<OPTION VALUE="teamc" name="teamc">Team C</OPTION> 
<option value="teamc" name="teamc">Team D</option> 
</SELECT> 
    </form> 
</fieldset> 
</body> 
</html> 
+0

'form'이 제출되면'form.team'에 액세스하여 사용자가 선택한 것을 확인할 수 있습니다. 그게 네가 쫓아 온거야? –

+0

사용자가 팀 A를 선택한 경우 양식을 관리자 A에게 전자 메일로 보내야합니다. 팀 B-D와 동일합니다. 논리는 다음과 같을 것입니다. 양식 결과는 여기]

답변

4

매트 말했다 무엇 ... 같은 기본적으로 뭔가 :

<cfif structKeyExists(FORM, "send") and FORM.send eq "Send"> 
    <cfswitch expression="#Form.team#"> 
     <cfcase value="teama"> 
      <cfset emailTo = "[email protected]"> 
     </cfcase> 
     <cfcase value="teamb"> 
      <cfset emailTo = "[email protected]"> 
     </cfcase> 
     ... etc 
     <cfdefaultcase> <!--- default if all else fails ---> 
      <cfset emailTo = "[email protected]"> 
     </cfdefaultcase> 
    </cfswitch> 

    <cfmail from="ContactForm" to="#emailTo#" subject="SimpleForm" type="html"> 
    ... 
    </cfmail> 
</cfif> 

가 대신 다음 IsDefined의 structKeyExists의 사용주의 - 일반적으로 간주 더 나은 연습.

+0

내가 이미 가지고있는 코드를 추가했지만 오류가 발생하지는 않지만 이메일도받지 못했습니다. –

+1

"contactform"에서 "[email protected]"coldfusion으로 변경해보십시오. 그렇지 않으면 SMTP 서버가 배달 할 수없는 폴더로 이동 중일 수 있습니다. ---- steve

+0

시도했지만 실제로는 "contactform"에서 왔지만 "="@@ email .com ". –