Login for more options
ColdFusion 10 form variable functionality change relating to case of variables
I have come across a bug/change in functionality relating to the use of multiple form fields using the same name. In ColdFusion 9 these would have been appended to the relevant variable with commas, but in ColdFusion 10, if the case of the variables is different one field will overwrite the other.
Steps to Reproduce:
Create the following index.cfm (attached to report) file and submit the form
<form action="index.cfm" method="post">
<input type="hidden" name="test" value="1" />
<input type="hidden" name="TEST" value="0" />
<input type="submit" />
The CFDUMP shows
TEST = 0
The CFDUMP should show
TEST = 1,0
I believe it is possible to repopulate the form variable using the POST data from GetHttpRequestData() but I have not tested this behaviour.
My Hardware and Environment details:
Tested on Windows 2003 running in VMWARE using ColdFusion 10.0 32bit Standard edition.
|Platform(s)||Win 2003 Server|
|Found In Build||Final|
|Fixed In Build||283412|
12:01:16 PM GMT+00:00 Jan 10, 2013
We are having this issue as well. Many of our forms (and consequently our field names) are dynamically generated from mixed sources and it's not always easy to ensure one case or the other for our fields. We have encountered a few scenarios where we have mixed case among the same group of similarly named fields. Some of the user's selections are lost in this case.
1:23:19 PM GMT+00:00 Oct 29, 2012
Quietly failing on legacy apps in very unfortunate ways. User accounts saved on new CF10 box lose all permissions. I know how to fix, but this is problematic.
7:53:51 AM GMT+00:00 Aug 22, 2012
Can cause major logic flaws in applications, particularly applications written for previous versions of ColdFusion where the case of the form variable didn't matter.
10:02:44 AM GMT+00:00 Jul 28, 2012
This change in behavior may break some applications and should definitely be fixed.