ColdFusion 10.0  -  Bug 3298179

Created on Saturday, July 28, 2012

Login for more options

Title

ColdFusion 10 form variable functionality change relating to case of variables

Description

Problem Description:

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" />
</form>

<cfdump var="#form#">

Actual Result:

The CFDUMP shows

TEST = 0

Expected Result:

The CFDUMP should show

TEST = 1,0

Any Workarounds:

I believe it is possible to repopulate the form variable using the POST data from GetHttpRequestData() but I have not tested this behaviour.

Test Configuration

My Hardware and Environment details:

Tested on Windows 2003 running in VMWARE using ColdFusion 10.0 32bit Standard edition.

App Language(s) English
OS Language(s) English
Platform(s) Win 2003 Server
Browser(s) Browsers All

Notes (2)

  • tSpark

    7:52:10 AM GMT+00:00 Aug 22, 2012

    I can also confirm this bug with checkboxes. We had one checkbox on a form with the name="" attribute being a different case. That one field overwrote all the other checkboxes on submit, and the form scope in CF was incorrect.

  • -==cfSearching==-

    9:59:29 AM GMT+00:00 Jul 28, 2012

    It is worth noting this behavior differs depending on which enctype is used. With "multipart/form-data" the values are *not* overwritten, but FORM.FieldNames lists the field name twice:

    <cfdump var="#FORM#">

    <form action="test.cfm" method="post" enctype="multipart/form-data">
    <input type="hidden" name="type" value="multipart/form-data">
    <input type="hidden" name="test" value="1" />
    <input type="hidden" name="TEST" value="0" />
    <input type="submit" value="Using: enctype=multipart/form-data"/>
    </form>

    <form action="test.cfm" method="post" enctype="application/x-www-form-urlencoded">
    <input type="hidden" name="type" value="application/x-www-form-urlencoded">
    <input type="hidden" name="test" value="1" />
    <input type="hidden" name="TEST" value="0" />
    <input type="submit" value="Using enctype=application/x-www-form-urlencoded"/>
    </form>

Duplicate ID
Reported By loftx

Status

State Closed
Status Fixed
Reason

Importance

Priority 2-Medium
Frequency Few users will encounter
Failure Type Incorrectly Functioning
Product Area Language

Build

Found In Build Final
Fixed In Build 283412

Attachments (1)

Votes (4)

  • MikeP

    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.

  • jeff.c

    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.

  • tSpark

    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.

  • -==cfSearching==-

    10:02:44 AM GMT+00:00 Jul 28, 2012

    This change in behavior may break some applications and should definitely be fixed.

Your session has expired! Click to login
Current form data will be preserved

Cancel