0

我正在创建一个表单,用户将在其中输入数据,然后单击“查看”以查看他们输入的数据。然后在审查后,“保存”记录。

我正在使用 a<cfform>提交表单,但想知道如何从“评论”页面将数据提交到数据库,因为这里没有表单。

我是否应该设置FORM.Name = VARIABLES.Name要在评论页面上显示的变量,然后在提交“保存”后将它们转换回来?

不太确定在这里做什么。想太多?

4

3 回答 3

3

保持在表单范围内。表单值的基本输出,使用在 form.fieldList 中烘焙:

<cfloop list="#form.fieldList#" item="fieldName">

    <cfoutput>
        #fieldName#: #form[fieldName]#<br>
        <input type="hidden" name="#fieldName#" value="#form[fieldName]#">
    </cfoutput>

</cfloop>

链接到原始表单或提交到您保存它的页面,使用隐藏字段中的值(应反映原始表单值)

您可以通过其他一些方法来做到这一点,但这对我来说似乎最简单。

于 2012-09-19T06:00:23.453 回答
2

为什么不在评论页面使用带有隐藏输入字段的第二个表单?确认将是向将数据保存到服务器的页面的提交按钮。第二种可能性(不太合适):将数据直接保存到数据库中并从那里加载以供审查。技巧:使用带有“已确认”的标志并在确认时设置它。不好的部分是:您必须清理尚未确认的旧数据。

于 2012-09-18T23:18:12.383 回答
1

改进比利克雷文斯的答案。这可以防止具有嵌入式攻击的字段

<cfoutput>
    #lcase(fieldName)#: #xmlFormat(form[fieldName])#<br>
    <input type="hidden" name="#fieldName#" value="#xmlFormat(form[fieldName])#" />
</cfoutput>

这也不适用于图像上传。lcase(fieldName) 是为了防止字段显示为全部大写。小写通常更容易阅读。

于 2012-11-28T22:53:30.560 回答