Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как передать массив в переменной между формами
 
 автор: Natasha   (15.09.2006 в 14:55)   письмо автору
 
 

Проблема в передаче массива в переменной между формами...
Передаёт вместо массива - слово Array.
Пишет вот что: Array to string conversion.
Как мне быть?

   
 
 автор: Thrasher   (15.09.2006 в 15:11)   письмо автору
 
   для: Natasha   (15.09.2006 в 14:55)
 

А как вы передаете массив сейчас?
Можно в форме в цикле формировать скрытые поля, где каждое поле будет соответствовать ОДНОМУ элементу массива или сначала преобразовать массив в ОДНУ строковую переменную (с помощью функции serialize ( )), а потом эту переменную передавать и расшифровывать с помощью unserialize ( ).

   
 
 автор: Natasha   (15.09.2006 в 15:36)   письмо автору
 
   для: Thrasher   (15.09.2006 в 15:11)
 

передаются данные из select'а, выбираются к примеру больше одного и после этого в другой форме данные из этой переменной должны приниматься... этого не происходит.
serialize уже пробовала - не помогло. почему так происходит?

   
 
 автор: P@Sol   (15.09.2006 в 15:38)   письмо автору
 
   для: Natasha   (15.09.2006 в 15:36)
 

привидите кусок кода...будет проще найти ошибку

   
 
 автор: babilonian   (16.09.2006 в 00:13)   письмо автору
 
   для: Natasha   (15.09.2006 в 14:55)
 

А вариант прописки на странице хидденами типа
foreach ($array as $key => $value)
{
echo "<input name=\"array[$key]\" value=\"$value\">":
}
не прокатит?

   
 
 автор: Natasha   (18.09.2006 в 11:44)   письмо автору
 
   для: Natasha   (15.09.2006 в 14:55)
 

код первой формы:

...
<select name="State">
<option value="1">Что-то 1</option>
<option value="2">Что-то 2</option>
<option value="3">Что-то 3</option>
</select>
...

причем выбраны могут быть сразу все три....

на второй форме у меня должно приниматься в хидены типа этого:

<input type="hidden" value="1,2,3" name="State">


всё это должно быть записано в поле типа Set в БД.

   
 
 автор: cheops   (18.09.2006 в 11:57)   письмо автору
 
   для: Natasha   (18.09.2006 в 11:44)
 

Если у вас мульти-форма, то в селект следует указать ключевое слово multiple, а имя сделать массивом
... 
<select multiple name[]="State"> 
<option value="1">Что-то 1</option> 
<option value="2">Что-то 2</option> 
<option value="3">Что-то 3</option> 
</select> 
...

Тогда скрытое поле можно будет формировать следующим образом
<?php
  
if(is_array($_POST['State'])) echo '<input type="hidden" value="'.implode(",",$_POST['State']).'" name="State">';
?>

   
 
 автор: Natasha   (18.09.2006 в 12:06)   письмо автору
 
   для: cheops   (18.09.2006 в 11:57)
 

спасибо!
надеюсь мне это поможет :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования