我遇到了需要將$ _SESSION變量從一個域傳遞到另一個域的iFrame頁面的情況。我花了16天時間嘗試各種方法無濟於事。我認爲唯一合乎邏輯的方法是將變量編碼到調用iFrame的url中,並在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
)
不過都好到目前爲止....調用的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網頁瓦爾...
爲什麼你認爲你需要準確地發送會話變量?爲什麼不使用其他方法?這些領域是什麼?你控制哪一個?他們共享同一臺服務器嗎? – 2010-04-26 16:43:34