Я столкнулся с ситуацией, когда мне нужно передать переменные $ _SESSION из одного домена на страницу iFrame из другого домена. Я провел последние 16 дней, пытаясь использовать разные методы. Я думаю, что единственным логическим способом было бы кодирование переменных в URL-адресе, который вызывает iFrame и декодирует их на странице iFrame. Я не уверен, как это сделать, и я ищу любые образцы, помощь и т. Д., Которые я могу найти.Как передать переменные сеанса из одного домена в другой в PHP
Спасибо за любые предложения.
Вот пример того, что я пытаюсь сделать ...
Пример:
<!-- Note only using hidden as I didn't want to build the form at test phase-->
<form name="test" method="post" action="iframe_test.php">
<input type="submit" name="Submit" />
<input type="hidden" name="fName" value="abc" />
<input type="hidden" name="lName" value="def" />
<input type="hidden" name="address1" value="ghi" />
<input type="hidden" name="address2" value="jkl" />
<input type="hidden" name="country" value="mno" />
<input type="hidden" name="postal_code" value="pqr" />
<input type="hidden" name="city" value="stu" />
<input type="hidden" name="retUrl" value="vwx">
<input type="hidden" name="decUrl" value="yz">
Так здесь я ударять iframe_test.php и выполнив следующие действия: PHP код: Функция StripSpecChar ($ val) { return (preg_replace ('/ [^ a-zA-Z0-9 "".. @:/_] /', '', $ Val)); }
foreach ($_POST as $key => $val) {
$_SESSION[$key] = StripSpecChar($val);
}
и я получаю массив сеанса, который выглядит следующим образом: Код:
Array
(
[fName] => abc
[lName] => def
[address1] => ghi
[address2] => jkl
[country] => mno
[postal_code] => pqr
[city] => stu
[retUrl] => vwx
[decUrl] => yz
)
Тем не менее все хорошо до сих пор .... называют плавающего фрейма
Код:
<body>
Some page stuff here
<div align="center"><span class="style1"><strong>This is the iFrame Page</strong></span>
</div>
<div align="center">
<iframe src="https://www.other_domain.org/iframe/reserve.php" width="500" height="350" frameBorder="0"></iframe>
</div>
</body>
Итак, как взять ...
$_SESSION['fName']['abc'];
$_SESSION['lName']['def'];
$_SESSION['address1']['ghi'];
$_SESSION['address2']['jkl'];
$_SESSION['country']['mno'];
$_SESSION['postal_code']['pqr'];
$_SESSION['city']['stu'];
$_SESSION['retUrl']['vwx'];
$_SESSION['decUrl']['yz'];
и превратить его в кодированный URL-адрес, который я ищу? Кроме того, как только это будет сделано, как я сессия вары назад, как сессия вары на этой новой доменной IFrame странице ...
Почему вы думаете, что вам нужно отправить именно переменную сеанса? почему бы не использовать какой-либо другой метод? Что такое эти домены? Какие из них вы контролируете? они используют один и тот же сервер? –