我有一个有多个 iframe 的网站。第一个是登录框架,一旦成功登录完成,它就会启动 php 会话。代码如下:
<?php
header('P3P: CP="CAO PSA OUR"');
session_start();
$_SESSION["email"] = $user_info[email];
$_SESSION["password"] = $user_info[password];
echo session_id();
?>
通过登录 iframe 启动会话后,我希望会话仍然处于活动状态,并且变量在不同的 iframe 中可用(它们具有相同的父页面)。不幸的是,第二个 iframe 在加载后会创建一个全新的会话并且变量丢失。帮助?
如何保持会话处于活动状态并在 iframe 之间传递会话变量?
第二个 iframe 中的代码如下所示:
<?php
header('P3P: CP="CAO PSA OUR"');
session_start();
echo session_id();
?>
这两个帧具有不同的会话 ID..这就是我知道会话未成功传递的方式。
谢谢!
您可以将?PHPSESSID=session_id()
传递给 iframe 网址。当配置 (php.ini) 设置为默认值时,PHP 将检测到它。
发现问题。
事实证明编码很好,但是关于我的网络主机(iPage)如何处理php会话有一些细节。必须得到一些帮助来编辑php.ini文件。不幸的是,解决方案超出了我的理解水平,但至少其他人知道解决方案就在那里!感谢所有帮助和评论的人。