Why do you need to do like this?
name="p_id[]"
much better to have unique name for each checkbox and also for input box. It seems to me you are not using an array.
Try this
<form method="post" action="Update.php"><table>
<tr><td><input type="checkbox" name="p_id1" value="1"></td><td>Products ID 1</td><td><input type="text" name="st_amount1" value=""></td></tr>
<tr><td><input type="checkbox" name="p_id2" value="2"></td><td>Products ID 2</td><td><input type="text" name="st_amount2" value=""></td></tr>
<tr><td><input type="checkbox" name="p_id3" value="3"></td><td>Products ID 3</td><td><input type="text" name="st_amount3" value=""></td></tr>
<tr><td><input type="checkbox" name="p_id4" value="4"></td><td>Products ID 4</td><td><input type="text" name="st_amount4" value=""></td></tr>
<tr><td><input type="checkbox" name="p_id5" value="5"></td><td>Products ID 5</td><td><input type="text" name="st_amount5" value=""></td></tr>
<tr><td><input type="checkbox" name="p_id6" value="6"></td><td>Products ID 6</td><td><input type="text" name="st_amount6" value=""></td></tr>
<tr><td colspan="25"><input type="hidden" name="Remove" value="Y">
<input type="submit" name="UpdateTable" value="Click Here To Update"></td></tr>
</table></form>
And you can the variable by using $POST look at the sample below
$_POST['p_id1'];
$_POST['st_amoutn1'];