我有一个简单的电子邮件表单和支持它的 CF 脚本。这一切都应该是显而易见的,但是脚本抛出了有效的输入。我已经验证了预期值在标题中,并且我可以在脚本中输出值,但它不喜欢输出之外的任何值。
这是我的 HTML:
<form id="email" name="email" method="post" action="scripts/email.cfm">
<fieldset>
<legend>Email Student Government:</legend>
<!-- PASS NAME (to query email) to the script -->
<input type="hidden" name="who" id="who" value="Example User">
<label for="from">Your Email:</label><br>
<input type="email" id="from" name="from"><br>
<label for="message">Message:</label><br>
<textarea id="message" name="message" rows="4"></textarea>
<input type="submit" name="send" id="send" value="Send Email">
</fieldset>
</form>
ColdFusion(包括顶部的调试脚本):
<!--- member email addresses, hashed by name --->
<cfinclude template="emailHash.cfm">
<cfoutput>
#FORM.SEND#
#FORM.WHO#
#FORM.FROM#
#FORM.MESSAGE#
</cfoutput>
<cfif isdefined("FORM.SEND") and FORM.SEND eq "Send Email">
<cfmail from="Example User <example@example.com>"
to="#FORM.WHO# <#emailHash['FORM.WHO']#>"
bcc="Example User <example@example.com>"
replyto="#FORM.FROM#"
subject="Email Form Submission">
Message: #FORM.MESSAGE#
Date / Time Sent: #dateformat(now(), "yyyy/mm/dd")# at #timeformat(now(), "HH:mm:ss tt")#
</cfmail>
</cfif>
如果我运行脚本,则会打印逻辑输出,但是即使该FORM.WHO
值已明确定义并且在之前的输出中打印得很好,也会出现此错误:
Element FORM.WHO is undefined in a CFML structure referenced as part of an expression.
我对我认为是一个简单的项目感到非常恼火,所以任何朝着正确方向的轻推将不胜感激!
PS:我认为 HTML5 输入类型可能会导致问题,所以我尝试将它们换成普通text
类型,但这没有任何好处。