通过iframe-PHP传递$\会话
作为记录,我确实看到了这个条目——它问的是完全相同的问题,但答案(即使当我跟着它走到一个T)仍然对我不起作用 我有两个页面-一个是登录页面,另一个是通过iframe拉入登录页面的页面。我在登录页上启动会话,并为$\u会话分配一个值,我希望将该值拉入iframe 以下是我的登录页代码:通过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
<?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();