Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > разбить POST-переменную


Автор: Smorodin 21.9.2007, 18:10
в форме есть поля с названиями name_1_5 name_4_2 ... name_x_y. и их много.
Они передаются сценарию методом POST. Для их обработки я подумал, что будет лучше загнать эти значения в массив. То есть разбить переменную, что нибудь типа explode(). Но вот как?

Автор: Emm 21.9.2007, 18:28
Цитата(Smorodin @  21.9.2007,  18:10 Найти цитируемый пост)
Но вот как? 


я тя понимаю брат...


$primer  = "name_1_5 | name_4_2 | name_x_y |";
$listok = explode("|", $primer);

 echo $listok[0] $listok[1];  // и т.д.


типа того.


Автор: UADeveloper 21.9.2007, 19:04
А почему бы не назвать поля name[0][1] ... name[x][y] и просто перебирать for-ом ?

Автор: BuShaRt 21.9.2007, 19:39
 smile 

не когда не пытались вникнуть, что находиться в суперглобальном массиве $_POST?

Код

print_r ($_POST);


Если имелось ввиду имено, как достучаться  до поля с  динамическим именем, то тут все так же элементарно:

Код

$x=1;
$y=1;
print $_POST['name_'.$x.'_'.$y];

Автор: Smorodin 21.9.2007, 20:05
Цитата

$primer  = "name_1_5 | name_4_2 | name_x_y |";

вопрос в том, что сценарий не знает как называются переменные...
Цитата

А почему бы не назвать поля name[0][1] ... name[x][y] и просто перебирать for-ом ?

как то не подумал...

Добавлено через 54 секунды
Цитата

$x=1;
$y=1;

скрипт не знает, чему будет равно x и y.

Автор: ewolf 21.9.2007, 21:06
Действительно, используйте массив

Код

<input type="text" name="name[0][1]" value="">


и т.д.

Потом можно перебрать foreach

Автор: Smorodin 21.9.2007, 21:36
Сначала распознавал переменные по тому же алгоритму, по которому и называл, но слишком корявенько это выглядело (уж больно много скул-запросов, по сути лишних).

Сейчас использую массивы. Всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)