Hi
I'm having a problem with an array that comes from a HTML form where the input type is text (i.e. <input type="text">).
Here's a sample of the HTML code.
<table width="100%" cellspacing="0" cellpadding="3" align="center" border="0">
<tr>
<td valign="top" class="input_titles" align="right">School:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="25" name="schoolname[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">From:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldatefrom[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">To:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldateto[]" class="input_text" /></td>
</tr>
<tr>
<td valign="top" class="input_titles" align="right">School:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="25" name="schoolname[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">From:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldatefrom[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">To:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldateto[]" class="input_text" /></td>
</tr>
<tr>
<td valign="top" class="input_titles" align="right">School:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="25" name="schoolname[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">From:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldatefrom[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">To:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldateto[]" class="input_text" /></td>
</tr>
<tr>
<td valign="top" class="input_titles" align="right">School:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="25" name="schoolname[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">From:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldatefrom[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">To:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldateto[]" class="input_text" /></td>
</tr>
<tr>
<td valign="top" class="input_titles" align="right">School:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="25" name="schoolname[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">From:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldatefrom[]" class="input_text" /></td>
<td valign="top" class="input_titles" align="right">To:</td>
<td valign="top" class="input_titles" align="left"><input type="text" size="15" name="schooldateto[]" class="input_text" /></td>
</tr>
</table>
This is sent to a PHP script which uses a for loop and goes through the array.
for ($i = 0; $i < count($_POST['schoolname']); $i++)
{
$schools = '<tr>'."\n";
$schools .= '<td valign="top" class="input_titles" align="right">School:</td>'."\n";
$schools .= '<td valign="top" class="input_titles" align="left">'.$_POST['schoolname'][$i].'</td>'."\n";
$schools .= '<td valign="top" class="input_titles" align="right">From:</td>'."\n";
$schools .= '<td valign="top" class="input_titles" align="left">'.$_POST['schooldatefrom'][$i].'</td>'."\n";
$schools .= '<td valign="top" class="input_titles" align="right">To:</td>'."\n";
$schools .= '<td valign="top" class="input_titles" align="left">'.$_POST['schooldateto'][$i].'</td>'."\n";
$schools .= '</tr>'."\n";
}
Later on, this is outputted as shown below (using heredoc syntax)
<table width="100%" cellspacing="0" cellpadding="3" align="center" border="0">
{$schools}
</table>
When I view the output, I only see 'A' in the first row. Even though I input something else, it still shows that.
The same thing happens if there is nothing inputted into the fields.
Can someone tell me what is wrong? Later, I even changed the INPUT names to include an integer in the square brackets. Still I get the same output.