In the program that processes the form you will still see them as individual fields. When you have an unknown number of fields, the best way to handle it is to have a standard field name followed by an index number (as you are doing). In the receiving program, you can check if the variables exist and then concatenate them before you save them to the database. In this example, I separated the values with commas. That would allow you to explode them to process them as individual fields later. You should do some editing on the incoming fields before you save them. if you use a separator, you'll need to check that it isn't in any of the strings.