通过iframe-PHP传递$\会话

通过iframe-PHP传递$\会话,php,session,iframe,session-variables,Php,Session,Iframe,Session Variables,作为记录,我确实看到了这个条目——它问的是完全相同的问题,但答案(即使当我跟着它走到一个T)仍然对我不起作用 我有两个页面-一个是登录页面,另一个是通过iframe拉入登录页面的页面。我在登录页上启动会话,并为$\u会话分配一个值,我希望将该值拉入iframe 以下是我的登录页代码: <?php session_start(); $_SESSION['vendorname'] = $this->getVendorId(); // store session vendor n

作为记录,我确实看到了这个条目——它问的是完全相同的问题,但答案(即使当我跟着它走到一个T)仍然对我不起作用

我有两个页面-一个是登录页面,另一个是通过iframe拉入登录页面的页面。我在登录页上启动会话,并为$\u会话分配一个值,我希望将该值拉入iframe

以下是我的登录页代码:

<?php
session_start(); 
    $_SESSION['vendorname'] = $this->getVendorId(); // store session vendor name data
    echo "Vendor = ". $_SESSION['vendorname']; // test to see if the vendor name was properly set
session_write_close();
?>

<html>
  <body>
    ....blah blah...
    <iframe width="100%" src="http://www.somewhere.com/iframe.php"></iframe>
  <body>
</html>
<?php
session_start();
    echo session_id();
    echo "<br>"; 
    $_SESSION['vendorname'] = $this->getVendorId(); // store session vendor name data
    echo "Vendor = ". $_SESSION['vendorname']; //test to see if the vendorname was properly set
    echo "<br>";
    echo session_id();
session_write_close();
?>
我得到以下输出:

0lq5gb79p52plgd9mcknpife60 供应商=超级供应商 0lq5gb79p52plgd9mcknpife60

在iframe页面上,对于此代码:

<?php
session_start();
echo session_id();
?>  

<html> 
      <head>   
        <link href="css/something.css" type="text/css" rel="stylesheet" /> 
      </head>

     <body>
<?php
echo session_id();
if(isset($_SESSION['vendorname'])) {
    echo "vendor = ". $_SESSION['vendorname']; }
else {
    echo "vendor = ". $_SESSION['vendorname']; }
?> 

我得到以下输出:

0lq5gb79p52plgd9mcknpife60 0lq5gb79p52plgd9mcknpife60
供应商=

使用以下内容启动iframe:

header('P3P: CP="CAO PSA OUR"');
session_start(); 

然后,您应该能够以正常方式访问会话变量。

检查
session\u id()
在两个页面中的值是否相同。如果没有,那么您的会话cookie设置不正确。好的,这里有一个愚蠢/新手的问题。。。。我该怎么做?
session_start();回显会话_id()。显示的值应该相同,并且应该匹配浏览器中PHPSESSID cookie中的内容(或其名称)。如果值发生更改,则您有多个会话,而保存这些值的会话将“丢失”。谢谢!因此,会话_id()在所有方面都是相同的。我在设置$u会话['vendorname']之前和之后以及在iframe内检查了它。。。那么,你有没有其他想法来解释为什么会搞砸(再次感谢。你能解释一下这是怎么回事吗?
header('P3P: CP="CAO PSA OUR"');
session_start();