Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как передать массив через POST

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
I_CaR
Отправлено: 22 Апреля, 2011 - 05:11:18
Post Id



Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2011  
Откуда: Красноярск


Помог: 0 раз(а)




Доброго всем!
Делаю отправку письма всё работает нормально, но вот передать данные из FOR не могу.
PHP:
скопировать код в буфер обмена
  1.  
  2. <form>
  3. <input type='hidden' name='$pole_00_name' value='$pole_00[Name]'>
  4. <input type='submit' name='button_send' value='Написать письмо'>
  5. </form>
  6. <?PHP
  7. foreach ($a->Contents as $row_order)
  8.         {
  9.                                        
  10.         echo "  <tr align='center'>
  11.         <td width = '120'>$pole_00[Name] </td>
  12.         </tr>";                                
  13.         }
  14. ?>
  15.  

Вот как мне передать через POST эти значения $pole_00[Name]?
передаётся естественно, только последнее значение
Принимаю в другом php-файле через
PHP:
скопировать код в буфер обмена
  1.  
  2. $pole_00_name = (@$_POST["pole_00_name"]);
  3.  

(Отредактировано автором: 22 Апреля, 2011 - 05:16:23)

 
 Top
EuGen Администратор
Отправлено: 22 Апреля, 2011 - 07:46:08
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Используйте []
Тогда предастся правильно. Например, $pole00[name][]


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
I_CaR
Отправлено: 22 Апреля, 2011 - 11:26:39
Post Id



Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2011  
Откуда: Красноярск


Помог: 0 раз(а)




Передал вот так (Пример.)
PHP:
скопировать код в буфер обмена
  1. @$tab_strok = 5;
  2. $input_array2 = array('1a', '2b', '3c', '4d', '5e');
  3. for ($i =0; $i < @$tab_strok; $i++)
  4. {
  5. print "<input type='text' name='$input_array2[$i]' value='$input_array2[$i]'>";
  6. }

Буду теперь думать как создать массив из for'а

(Отредактировано автором: 22 Апреля, 2011 - 11:28:46)

 
 Top
Viper
Отправлено: 22 Апреля, 2011 - 11:38:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




I_CaR в вашем случае есть несколько замечаний. @ перед $tab_strok для чего? Мух отгонять?

Для передачи массива желательно использовать ассоциативный массив, т.к. использовать значение как имя поля нежелательно.

Т.е. имхо лучше так
PHP:
скопировать код в буфер обмена
  1. $tab_strok = 5;
  2. $input_array2 = array('a'=>'1a', 'b'=>'2b', 'c'=>'3c', 'd'=>'4d', 'e'=>'5e');
  3. for ($i =0; $i < $tab_strok; $i++) {
  4.         foreach ($input_array2 as $key=>$value) {
  5.                 echo '<input type="text" name="'.$key.'" value="'.$value.'" />';
  6.         }
  7. }


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
I_CaR
Отправлено: 25 Апреля, 2011 - 05:52:25
Post Id



Новичок


Покинул форум
Сообщений всего: 62
Дата рег-ции: Март 2011  
Откуда: Красноярск


Помог: 0 раз(а)




Viper пишет:
I_CaR в вашем случае есть несколько замечаний. @ перед $tab_strok для чего? Мух отгонять?

Для передачи массива желательно использовать ассоциативный массив, т.к. использовать значение как имя поля нежелательно.

Т.е. имхо лучше так
PHP:
скопировать код в буфер обмена
  1. $tab_strok = 5;
  2. $input_array2 = array('a'=>'1a', 'b'=>'2b', 'c'=>'3c', 'd'=>'4d', 'e'=>'5e');
  3. for ($i =0; $i < $tab_strok; $i++) {
  4.         foreach ($input_array2 as $key=>$value) {
  5.                 echo '<input type="text" name="'.$key.'" value="'.$value.'" />';
  6.         }
  7. }


У меня массив многомерный, я думал по указанному примеру получиться...
У меня он вот так заполняется в input'ы
PHP:
скопировать код в буфер обмена
  1.  
  2. foreach ($shop->CartContents as $row_order)
  3. {
  4.  
  5.  $result .= "
  6. <input type='hidden' name='row_order_ID_$row_order[ItemID]' value='$row_order[ItemID]'>
  7. <input type='hidden' name='row_order_name_$row_order[ItemID]' value='$row_order[Name]'>
  8. <input type='hidden' name='row_order_price_$row_order[ItemID]' value='$row_order[ItemPriceF]'>
  9. <input type='hidden' name='row_order_qty_$row_order[ItemID]' value='$row_order[Qty]'>
  10. <input type='hidden' name='row_order_units_$row_order[ItemID]' value='$row_order[Units]'>
  11. <input type='hidden' name='row_order_total_price_$row_order[ItemID]' value='$row_order[TotalPriceF]'>
  12.  
  13. ";
  14. }
  15.  


И приходит от Post следующим форматом
Array:
(
[row_order_ID_T0001250] => T0001250 //это ID
[row_order_name_T0001250] => Наименование 1
[row_order_price_T0001250] => 1,00 руб
[row_order_qty_T0001250] => 2
[row_order_units_T0001250] => шт
[row_order_total_price_T0001250] => 2,00 руб // это итого, если взято более 1 шт.
[row_order_ID_T0001857] => T0001857
[row_order_name_T0001857] => Наименование 2
[row_order_price_T0001857] => 10,00 руб
[row_order_qty_T0001857] => 1
[row_order_units_T0001857] => шт
[row_order_total_price_T0001857] => 10,00 руб
[row_order_ID_T0001477] => T0001477
[row_order_name_T0001477] => Наименование 3
[row_order_price_T0001477] => 100,00 руб
[row_order_qty_T0001477] => 1
[row_order_units_T0001477] => шт
[row_order_total_price_T0001477] => 100,00 руб
[email] => vasya@pupkin.ru
[ContName] => Vasiliy
[button_send] => Написать письмо
)


Одни значения могу получить через:

PHP:
скопировать код в буфер обмена
  1. foreach (@$_POST as $value)
  2. {
  3. echo "<b>$value</b><br>";
  4. }
  5.  


А Как мне из этого принятого массива или полученных через foreach значений выбрать значения по пунктам? Ведь ID всегда разный.
Например именно 4-ую строку массива из foreach?
ну или на крайний случай хоть 4-ую строку из массива из POST?
(Добавление)
Методом научного тыка, дошёл до того (ну и подумал), что этот массив из foreach, нужно засунуть в свой массив, и там через индексы строк уже выводить, то что нужно. Я правильно мыслю? ??? Непонял!

(Отредактировано автором: 25 Апреля, 2011 - 07:54:23)

 
 Top
Viper
Отправлено: 25 Апреля, 2011 - 11:30:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




I_CaR id у вас же не рандомно генерируется, а значит есть откуда его взять.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB