Отправить содержимое $ _SESSION - PullRequest
0 голосов
/ 19 января 2011

Я работаю над сценарием опроса, и в конце опроса у меня есть все необходимые данные в $ _SESSION.Каков наилучший способ размещения содержимого $ _SESSION, которое меня интересует, в обработчик на другом сервере?Если я не могу POST (используя cURL или около того), каковы мои другие варианты?

Спасибо, Райан

Ответы [ 3 ]

2 голосов
/ 19 января 2011

Вот как бы вы сделали это с помощью curl:

<?php
//Server to POST data to
$url = 'http://foo.com/bar';
$postVars = '';

foreach($_SESSION as $key => $value) {
    $postVars .= urlencode($key).'='.urlencode($value).'&';
}

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST      ,1);
curl_setopt($ch, CURLOPT_POSTFIELDS    ,$postVars);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
?>

Если curl недоступен, вы можете использовать fsockopen (http://de.php.net/manual/en/function.fsockopen.php),, но это будет немного больше работы.

0 голосов
/ 19 января 2011

почему вы не можете POST?Возможно, вам не удастся использовать cURL или другие библиотеки, но, если ваш сервер не защищен брандмауэром или в конфигурации PHP не отключен, вы можете открыть сетевой поток и POST из своего скрипта вручную, в этом нет ничего экзотического.Если вы можете использовать расширение PECL HTTP, посмотрите на this , иначе вы найдете множество примеров ручного выполнения простого запроса POST

0 голосов
/ 19 января 2011

Я бы рекомендовал использовать базу данных для хранения результатов опроса. Вы можете получить доступ к базе данных удаленного сервера с правильной конфигурацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...