Tôi đã gặp phải tình huống mà tôi cần chuyển các biến $ _SESSION từ một tên miền sang trang iFrame từ một tên miền khác. Tôi đã dành 16 ngày cuối cùng để thử các phương pháp khác nhau để không có kết quả. Tôi nghĩ rằng cách hợp lý duy nhất là mã hóa các biến trong url gọi iFrame và giải mã chúng trong trang iFrame thứ. Tôi không chắc chắn làm thế nào để đi về điều này và tôi đang tìm kiếm bất kỳ mẫu, hỗ trợ vv mà tôi có thể tìm thấy.Làm cách nào để chuyển các biến phiên từ tên miền này sang tên miền khác trong PHP
Cảm ơn bạn về mọi đề xuất.
Dưới đây là một ví dụ về những gì tôi đang cố gắng để làm ...
Ví dụ:
<!-- 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">
Vì vậy, từ đây tôi nhấn iframe_test.php và cách làm như sau: Mã PHP: chức năng StripSpecChar ($ val) { trả lại (preg_replace ('/ [^ a-zA-Z0-9 "" -. @:/_] /', '', $ Val)); }
foreach ($_POST as $key => $val) {
$_SESSION[$key] = StripSpecChar($val);
}
và tôi nhận được một mảng phiên trông như thế này: Code:
Array
(
[fName] => abc
[lName] => def
[address1] => ghi
[address2] => jkl
[country] => mno
[postal_code] => pqr
[city] => stu
[retUrl] => vwx
[decUrl] => yz
)
Tuy nhiên tất cả đều tốt cho đến nay .... gọi iFrame
Code:
<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>
Vì vậy, làm cách nào để thực hiện ...
$_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'];
và biến nó thành url được mã hóa mà tôi đang tìm kiếm? Hơn nữa một khi đã được thực hiện như thế nào để tôi nhận được phiên vars trở lại như phiên vars trên trang đó iFrame tên miền mới ...
Tại sao bạn nghĩ bạn cần phải gửi chính xác biến phiên? tại sao không sử dụng một số phương pháp khác? Những tên miền này là gì? Bạn kiểm soát cái nào trong số chúng? họ có chia sẻ cùng một máy chủ không? –