Я бы порекомендовал массив.Вы можете сделать javascript или иным способом, но убедитесь, что конечный обработчик может видеть, сколько рефералов существует.Чтобы убедиться, что адрес электронной почты и имя остаются вместе, попробуйте что-то вроде
<input type="text" name="friend_name[0]" />
<input type="text" name="friend_email[0]" />
<input type="text" name="friend_name[1]" />
<input type="text" name="friend_email[1]" />
и так далее.Оттуда ваш PHP-скрипт будет просто соответствовать индексам массива в переменной $ _POST.Например, если бы эта форма была отправлена (как указано выше) с некоторыми произвольными данными, она бы отформатировалась следующим образом (это print_r ($ _ POST); данные)
Array
(
[friend_name] => Array
(
[0] => test_name
[1] => test_name2
)
[friend_email] => Array
(
[0] => email@something.com
[1] => email@two.com
)
)
Идея прохождения через них (если бы вы реализовали javascript с потенциалом для «бесконечного» количества рефералов), было бы использовать count ();функция.Реализация будет выглядеть примерно так:
for($i=0;$i<count($_POST['friend_name']);++$i)
{
if($_POST['friend_email'][$i] == NULL) continue; // Ignore NULL e-mails
// Process data blah
}
Или, если эти имена введены не по порядку, функция foreach () в PHP очень полезна и может выполнить то же самое (возможно, более эффективно для ошибок такого типа).проверка)
foreach($_POST['friend_name'] as $key => $val)
{
if($_POST['friend_email'][$key] == NULL) continue; // Ignore NULL e-mails
// Process $val and $_POST['friend_email'][$key]
}
Надеюсь, это поможет!Удачи!
Денис М.