X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> PHP: Отправка GET-запроса в фоне, без обновления страницы
StarKnight
StarKnight
Topic Starter сообщение 24.11.2011, 22:58; Ответить: StarKnight
Сообщение #1


Новичок
*

Группа: User
Сообщений: 38
Регистрация: 10.7.2011
Из: Иркутск, Сибирь
Поблагодарили: 10 раз
Репутация:   1  


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

Есть у меня скрипт, который получает данные из формы методом POST. Делает с этими данными разные операции, и в конце - внимание, вопрос - передаёт обработанные данные другому скрипту, который получает значения методом GET.

Не было бы печали, но к сожалению форма, передающая данные методом POST моему скрипту, и скрипт, который будет получать данные от меня, находятся на другом сайте, к управлению которым у меня нет доступа. Поэтому приходится изворачиваться.

То есть мне из своего скрипта на своём сайте нужно передать переменные на обработку скрипту на другом сайте htps://чужой_сайт.ру/script.php?$чужая_переменная=$ моя_переменная

Возможно ли отправить этот запрос в фоне, то есть не перенаправляя пользователя на чужой_сайт.ру? И как вообще отправить get не из формы, а прямо в самом скрипте?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
bum
bum
сообщение 25.11.2011, 1:07; Ответить: bum
Сообщение #2


reg.com.ru
*******

Группа: Super Moderator
Сообщений: 2859
Регистрация: 10.6.2008
Из: RU
Поблагодарили: 4763 раза
Репутация:   233  


http://docs.php.net/manual/en/ref.curl.php тебе поможет


--------------------
домены RU/SU/РФ/gTLD(reg.ru, nic.ru, r01.ru, webnames.ru, naunet.ru, PublicDomainRegistry.com, uk2group.com)
с безbumажным и простым как 1,2,3 переоформлением при продаже. Подробности в тех.поддержке.
Работай без риска!


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
disiyndel
disiyndel
сообщение 25.11.2011, 1:19; Ответить: disiyndel
Сообщение #3


Завсегдатай
*****

Группа: Active User
Сообщений: 762
Регистрация: 27.10.2009
Из: отборных зерен.
Поблагодарили: 219 раз
Репутация:   29  


http://www.php.su/lessons/?lesson_11
Иногда необходимо библиотеку подключать, если не предустановлена.

Если очень кратко:

<?php
$ch = curl_init('htps://чужой_сайт.ру/script.php?$чужая_переменная=$ моя_переменная');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Возвращаем данные, а не выводим на экран.
$result=curl_exec($ch);
curl_close($ch);
?>


Собственно ответ сайта будет в переменной $result.

Сообщение отредактировал disiyndel - 25.11.2011, 1:20


--------------------
http://heisenbrog.com - только цифры, факты и эксперименты.


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
vadim
vadim
сообщение 25.11.2011, 1:44; Ответить: vadim
Сообщение #4


Бывалый
****

Группа: User
Сообщений: 261
Регистрация: 9.12.2007
Поблагодарили: 21 раз
Репутация:   7  



Правильно. На русском с пояснениями - _http://myrusakov.ru/php-curl-get.html

Сообщение отредактировал vadim - 25.11.2011, 1:44


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 25.11.2011, 1:58; Ответить: x64
Сообщение #5


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3435
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2750 раз
Репутация:   289  


можно и самому поизгаляться. в этом случае скрипт должен сам сформировать корректный post-запрос и пообщаться с удалённым сервером (в помощью функции fsockopen/fwrite/fgets). учитывая, что post-данные могут передаваться несколькими способами, придётся немножко зарыться в маны. про передаче данных с типом multipart/form-data можно глянуть тут. вторым способом передачи будет формирование строки параметров как при get (a=1&b=2). content-type для данного способа будет application/x-www-form-urlencoded, как оно должно передаваться смотреть тут.

сложно? тогда curl в помощь. всё вышеописанное безобразие он берёт на себя. а попытка написать что-то своё, настолько же универсальное, выльется в кучу потраченного времени.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
StarKnight
StarKnight
Topic Starter сообщение 25.11.2011, 2:56; Ответить: StarKnight
Сообщение #6


Новичок
*

Группа: User
Сообщений: 38
Регистрация: 10.7.2011
Из: Иркутск, Сибирь
Поблагодарили: 10 раз
Репутация:   1  


Огромное спасибо за ответы? проблема решена! К счастью, curl была установлена, и с этим не пришлось возиться. Мои переменные, как оказалось, тоже подставляются туда очень просто (определено методом научного тыка):

<?php
$send = curl_init('https://чужой_сайт.ру/script.php?чужая_переменная='.$моя_переменная.'&другая_чужая_переменная'.$моя_переменная);
curl_setopt($send, CURLOPT_RETURNTRANSFER, 1);
$result=curl_exec($send);
curl_close($send);
?>


Будет хорошо, когда яндекс с гуглом будут находить эту тему по фразе передача данных методом GET без формы. Думаю, кому-нибудь ещё пригодится smile.gif Огромное спасибо всем участникам за помощь!

Сообщение отредактировал StarKnight - 25.11.2011, 2:57
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужны услуги php-разработчика, бартером за дизайн
вы мне скрипт, я вам дизайн
0 Caterpillar 232 Вчера, 23:15
автор: Caterpillar
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 662 13.12.2017, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3488 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 513 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыImage Optimizer (PHP)
6 bars96 935 17.11.2017, 0:47
автор: bars96


 



RSS Текстовая версия Сейчас: 18.12.2017, 15:05
Дизайн