0

簡単なメールフォームとそれを裏付ける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タイプと交換してみましたが、うまくいきませんでした。

4

1 に答える 1

4

問題はフォーム変数ではなく、次のとおりです。

#emailHash['FORM.WHO']#

あなたのエラーは、その変数が存在しないことを示しています (エラーメッセージの残りの部分は、そのコードがオンになっている行番号を指している必要がありますか? あなたはそのビットを投稿していません...)。そして、あなたが投稿したことから、そうであることを示唆する証拠はありません.

で何が起こっていemailHash.cfmますか?

于 2012-09-25T06:07:07.517 に答える