I don't believe you can keep defining the same variable over and over and expect to retrieve all values. What you CAN do, however, is make that POST'd element an array, like so:
<label for="splits">Splits:</label>
<input type="file" name="splits" id="splits" size="22" />
<input type="hidden" name="section[]" id="section" />
<br />
<label for="mergers">Mergers:</label>
<input type="file" name="mergers" id="mergers" size="22" />
<input type="hidden" name="section[]" id="section" />
<br />
<label for="spin_offs">Spin Offs:</label>
<input type="file" name="spin_offs" id="spin_offs" size="22" />
<input type="hidden" name="section[]" id="section" />
<br />
$section[0]holds the first value, $section[1] holds the second, etc.
EDIT: Just looked at your code.. wow, sort of a mess. Array indices are strings, so you need quotes in there (i.e. $value['section'])!
Anyway, a different approach might be needed here to accomplish this. What I would do is something like this:
for($i = 0; isset($_FILES[$i]); $i++) {
// your code here (what you have inside the foreach() { } code, NOT INCLUDING the foreach() itself... that's what our for() loop is replacing!)
// references the $_FILES array to get the file you're working on by using $_FILES[$i]
// example: $_FILES[$i]["name"] will get you the name of the file
// reference the appropriate 'section' variable like so:
// $current_section = $_POST['section'][$i]
}
I'm at work, so I can't fully test the code, but I believe this should give you a start. Play around with it, and I suppose you could lookup what [man]for/man loops do in the manual, but they're relatively simple... in this case, I gave a "counter" a starting value (0), told PHP a condition that MUST result in a logical "true" value in order to continue processing, and then told it how to increment the counter.
Hope this helps!