我遇到了需要将 $_SESSION 变量从一个域传递到另一个域的 iFrame 页面的情况。在过去的 16 天里,我尝试了各种方法,但无济于事。我认为唯一合乎逻辑的方法是对调用 iFrame 的 url 中的变量进行编码并在 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 代码:函数 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'];
并将其转换为我正在寻找的编码网址?此外,一旦完成,我如何在该新域 iFrame 页面上将会话变量作为会话变量返回...