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 :: Передать полни масив как один пост параметр исползуя CURL

 PHP.SU

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


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

> Без описания
dadli
Отправлено: 12 Июля, 2013 - 14:07:49
Post Id



Посетитель


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


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




Здравствуйте.

Мне есть масив и я хочу передать етот масив как один пост параметр, для етого я исползую функцю serialize() (для конвертирование масива к стринг) и хочу передать пост запрос исползуя CURL.

вот мои код:


PHP:
скопировать код в буфер обмена
  1.  
  2.  $name = array(2,3,"5.5");
  3.        
  4.  $name = serialize($name);
  5.        
  6. $ch = curl_init();
  7. curl_setopt($ch, CURLOPT_URL, 'http://site.com/retrieve_post.php');
  8. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  9. curl_setopt($ch, CURLOPT_POST, true);
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, 'name='.$name);
  11. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
  12. curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0') );
  13. $data = curl_exec($ch);
  14.  


потом в фаиле "retrieve_post.php" сделаю так:



почемута, после унсерялизации $_POST['name'], я получаю не масив, а боолеан тип, то есть "$arr" етот не масив, а боолеан(фалсе).
подскажите плиз вчём может бить дело?

(Отредактировано автором: 12 Июля, 2013 - 14:11:18)

 
 Top
esterio
Отправлено: 12 Июля, 2013 - 14:11:02
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




 
 Top
Мелкий Супермодератор
Отправлено: 12 Июля, 2013 - 14:38:55
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Вывод ошибок на целевой машине включен? Раз упаковывали массив - а там буль, значит не распаковалось и есть ошибка, где проблема.

Из очевидного - магические кавычки там выключены?
Можно сериализованную строку в base64 упаковать, так надёжнее.
А если не привязаны к сериализации гвоздями, то лучше использовать json - как более кроссплатформенное решение. Правда, от магических кавычек не поможет.


-----
PostgreSQL DBA
 
 Top
alexxorlovv
Отправлено: 17 Сентября, 2013 - 01:33:42
Post Id



Новичок


Покинул форум
Сообщений всего: 30
Дата рег-ции: Сент. 2013  
Откуда: Москва


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




Создал себе проблемы, не сериализуй массив, скажем создай строку foreach`эм и отправь,
CODE (htmlphp):
скопировать код в буфер обмена
  1. foreach ($post as $key => $value)
  2.                     {
  3.                         $posting .= $key.'='.$value.'&';
  4.                     }
 
 Top
Мелкий Супермодератор
Отправлено: 17 Сентября, 2013 - 09:36:23
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




alexxorlovv, http_build_query тогда уж.


-----
PostgreSQL DBA
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« HTTP и PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB