slamer3000
Новичок
Доступ к данным сессии через id сессии.
Есть такая проблема с сессиями.
Есть 2 сервера:
Сервер1 и Сервер2.
Есть 4 php-скрипта: На сервере1 - скрипт1, скрипт2, скрипт3;
На сервере2 - скрипт4.
скрипт1 - форма для считывания данных, которые вводит пользователь.
При нажатии им на кнопку "Отправить" данные перекидываются для обработки в скрипт2.
скрипт2 - создаёт сессию и пихает туда данные, а также делает редирект
на скрипт4 сервера2, куда передаёт ID сессии. Типа:
скрипт4 - принимает ID сессии и отправляет скрытый запрос curl'ом на скрипт3 на сервере1,
куда тоже передаёт этот же ID сессии и какие-то новые данные. Типа:
скрипт3 - получает запрос от скрипта4 с сервера2 и записывает в созданную ранее сессию
данные. Типа:
Так вот. В результате всего на экрано должно выдать содержимое сессии. То есть
элемент массива с именем text_info тоже должен быть выдан на экран, как и new_text.
Но выдаётся пустота.
Почему не устанавливается session_id($_REQUEST["id"]) ?
Может, что-то ещё нужно дописать?
Есть такая проблема с сессиями.
Есть 2 сервера:
Сервер1 и Сервер2.
Есть 4 php-скрипта: На сервере1 - скрипт1, скрипт2, скрипт3;
На сервере2 - скрипт4.
скрипт1 - форма для считывания данных, которые вводит пользователь.
При нажатии им на кнопку "Отправить" данные перекидываются для обработки в скрипт2.
скрипт2 - создаёт сессию и пихает туда данные, а также делает редирект
на скрипт4 сервера2, куда передаёт ID сессии. Типа:
PHP:
session_start();
$id=session_id();
$_SESSION["text_info"]=$_POST["text_info"];
// .....
header("Location: http://www.server2.com/script4.php?id=".$id);
куда тоже передаёт этот же ID сессии и какие-то новые данные. Типа:
PHP:
//...
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL,"http://www.server1.com/script3.php");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "id=".$_REQUEST["id"]);
$result=curl_exec($ch);
echo $result;
данные. Типа:
PHP:
session_id($_REQUEST["id"]);
$_SESSION["new_text"]="Some Text";
print_r($_SESSION);
элемент массива с именем text_info тоже должен быть выдан на экран, как и new_text.
Но выдаётся пустота.
Почему не устанавливается session_id($_REQUEST["id"]) ?
Может, что-то ещё нужно дописать?