2015-12-01 3 views
1

Я пытаюсь иметь несколько форм с одним полем каждый и вводить ввод в тот же массив.Введите значения через форму в массив, PHP

Это мой код:

<?php 
$parts = array(); 

for($i = 0; $i < "10"; $i++) 
{ 
    echo '<form action="index.php" method="post">'; 
    echo '<input type="text" name="parts[]"><br>'; 
    echo '<input type="submit">'; 
    echo '</form>'; 
    $parts[$i] = $_POST['holder']; 
    unset($_POST['holder']); 
} 

$arrlength = count($parts); 
for($i = 0; $i < $arrlength; $i++) { 
    echo $parts[$i]; 
    echo "<br>"; 
} 


?> 

Как прямо сейчас номер я выбираю в случайном порядке был 10 он должен быть любым заданным числом пользователя, но это только для целей тестирования.

Проблема, с которой я сталкиваюсь, заключается в том, что она только отправляет последнюю часть, я пробовал кучу разных способов, но пока никто не добился успеха.

+1

Пожалуйста, объясните, что вы пытаетесь достичь, в широком смысле этого слова, потому что этот код довольно нелогичен – Steve

+0

Извините, что я пытаюсь сделать: 1. Опубликовать форму 2. указать пользователю значение 3. сохранить это значение в массиве 4. повторить, что 10 раз (в данном случае) 5. напечатайте все эти значения один за другим Я знаю, что для этого есть более простые способы, но это часть большей проблемы, благодаря быстрой реакции. –

+0

php является апатридом - он работает до конца скрипта, а затем останавливается, уничтожая любую память, используемую во время этого выполнения. По времени вы видите html, php закончил. Ваш код подсказывает, что вы ожидаете, что код каким-то образом остановится после печати каждой формы, а затем возобновите подачу, то есть не так, как это работает. Исправлено. – Steve

ответ

1

Похоже, вы хотите отправить форму с несколькими записями в массиве?

Вы должны были бы сделать это что-то вроде:

echo '<form action="index.php" method="post">'; 
for($i = 0; $i < "10"; $i++) 
{ 

    echo '<input type="text" name="parts['.$x.']"><br>'; 
} 
echo '<input type="submit">'; 
echo '</form>'; 

Затем в коде, который вы отправляете в

var_dump($_POST['parts']); 
+0

Спасибо! это точно определило, как я это хотел –

Смежные вопросы