Du laver en foreach på $_POST
snarere end på navn/alder-arrays. Du bør gøre foreach på navn eller aldersgruppe som denne:
if (
!empty($_POST['name']) && !empty($_POST['age']) &&
is_array($_POST['name']) && is_array($_POST['age']) &&
count($_POST['name']) === count($_POST['age'])
) {
$name_array = $_POST['name'];
$age_array = $_POST['age'];
for ($i = 0; $i < count($name_array); $i++) {
$name = mysql_real_escape_string($name_array[$i]);
$age = mysql_real_escape_string($age_array[$i]);
mysql_query("INSERT INTO users (name, age) VALUES ('$name', '$age')");
}
}
Jeg vil også bemærke, at du i øjeblikket er modtagelig for SQL-injektion, så jeg tilføjede trinnet med at undslippe dine strenge for navn/alder.
Jeg vil også stærkt foreslå blot at lave en enkelt masseindsættelse i DB i stedet for en indsættelse af hver post individuelt (det vil jeg lade være op til dig at implementere). Denne tilgang er næsten altid at foretrække ud fra et præstationssynspunkt.
Endelig burde du VIRKELIG ikke bruge mysql_*
fungerer som de er forældede. Overvej at skifte til mysqli eller PDO.