Я столкнулся с ситуацией, когда мне нужно передать переменные $ _SESSION из одного домена на страницу iFrame из другого домена. Я провел последние 16 дней, пробуя различные методы безрезультатно. Я думаю, что единственным логическим способом было бы закодировать переменные в URL, который вызывает iFrame, и декодировать их на странице iFrame. Я не знаю, как это сделать, и я ищу образцы, помощь и т. Д., Которые я могу найти.
Спасибо за любые предложения.
Вот пример того, что я пытаюсь сделать ...
Пример:
<!-- 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-код:
function 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
)
Пока все хорошо ... позвоните в iFrame
Код:
<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 домена ...