作者fillano (冒牌费大公)
看板PHP
标题Re: [请益] iframe无法传值??
时间Sun Oct 28 19:46:34 2007
※ 引述《cloudlin322 (麦芽糖N  ﳿ︠)》之铭言:
: 假设
: 有一个网页 A.PHP 放在SERVER A
: 有两个网页 B1.PHP、B2.PHP 放在SERVER B
: A.PHP 里面放入一个 iframe 显示 B1.PHP ,同时会传值ID,PW
: <iframe src=B1.PHP?ID=XXX&PW=XXX></iframe>
: B1.PHP 要检查送来的值,若是正确则配置 SESSION 值
: B1.PHP 里面有一个超连结连结到 B2.PHP 里面
: B2.PHP 则要显示出 SESSION 的值:$_SESSION['ID']、$_SESSION['PW']
: 我的问题在於
: B1.PHP 有显示出 $_SESSION['ID']、$_SESSION['PW']
: 但是连结到 B2.PHP 之後,却变成了空值!?
: 假如是 iframe 的问题
的确是iframe的问题,但是问题发生在你看不到的地方
为了安全,浏览器会把iframe里面的cookie关掉,session本来是靠cookie来传sid
才能辨识的。所以你需要把网址加上&SID=........等等才能让session正常运作
在session_start()以後,可以透过SID常数取得sid=......的字串,然後加在b2.php
的超连结网址後面应该就可以了。
php.ini里面有一个设定,叫做session.use_trans_sid,可以用他配合
url_rewriter.tags来让上面的动作自动完成。
但是这只能处理html tag里面包含的url,如果你还有用javascript处理,那就要想办法
自己把sid加到网址上。
--
Sapere Aude! 这就是启蒙运动的口号!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.166.83
1F:推 cloudlin322:嗯嗯~感谢~ 我试试看~ 10/29 10:18