当前位置:  开发笔记 > 前端 > 正文

在ColdFusion中,如何提取和存储提交表单的内容?

如何解决《在ColdFusion中,如何提取和存储提交表单的内容?》经验,为你挑选了1个好方法。

我正在ColdFusion中编写一个应用程序,尽管它基本上是稳定的,但它经常出错.因为它已经取代了旧的应用程序,有时候会出现错误的用户而不是我.

我创建了一个很好的页面,人们在收到向我发送信息的错误时会得到这个页面,例如错误,引用,错误在哪个页面,行号等.

我唯一看不到的就是提交表格数据,如果有的话.我事先不知道它错误的页面,所以我不能只输出'#form.field#'.

例如,如果:

form.abc = 1
form.def = 2

如何在不事先知道的情况下从'form'获取变量名称和值?

这个文档是否在正确的路径上的某个结构上循环?

另外,我在寻找一种存储在数据库中的数据,因为这是存储有关错误的其他信息的好方法,我真的不希望有把它在一封电子邮件给我.



1> Peter Bought..:

表单范围有一个FieldNames变量,它将告诉您提交的字段.

您还StructKeyList(Form)可以获取范围中当前变量的列表.这个还将包括FieldNames和已添加到Form范围的任何其他变量.

这些都可以在一个内部使用- 但有更简单的方法......


如果您使用的是CF8,则可以将范围转换为字符串,并且很容易使用serializeJson()deserializeJson()函数转换,然后可以将其存储在合适的数据库字段中.

如果您使用的是CF6..7,那么您可以从riaforge下载一个名为cfjson的CFC ,它模仿这些功能.


最后,如果您使用的是早期版本的CF,或者对使用JSON进行存储有一种奇怪的厌恶,您可以使用更简单的循环滚动到上面提到的循环 - 集合循环允许您直接循环通过结构或范围 - 注意一些讨厌的人选择"项目"而不是"索引"作为这些的属性.

因为我们知道Form变量都是简单的对象(即字符串),所以我选择了基本key=value[newline]key=value[newline]...格式,这也很容易反转.

编码方式:



    




最后一个重要注意事项:与所有用户提供的变量(Form,Url,Cookie作用域)一样,您必须确保正确处理它们以防止出现安全漏洞 - 特别是确保您使用cfqueryparam进行 所有 数据库查询 - 不要如果你需要任何有关cfqueryparam的帮助,可以随意提出另一个问题.


希望这可以帮助.:)

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有