通过iframe,php传递会话变量
第一次到网站的计时器,而不是一个经验丰富的PHP程序员在这里:)
我有一个问题,我在一个站点内部使用了一个iframe,它试图使用一个会话变量,首先我试图显示会话变量,以确保它们可以在iframe中访问:
echo "session of productcheck ".$_SESSION['productcheck']."
"; echo "session of productcheck1 ".$_SESSION['productcheck1']."
"; echo "session of productcheck2 ".$_SESSION['productcheck2']."
"; echo "session of productcheck3 ".$_SESSION['productcheck3']."
";
这只是显示“产品检查会议”后没有任何东西,我设置会话变量如下:
$_SESSION['productcheck'] = $productBox;
$ productBox是来自URL的GET:
echo " <iframe src="homeview.php?productBox=$product1" name="FRAMENAME" width="594" height="450" scrolling="No" id="FRAMENAME" allowautotransparency="true" > </iframe >";
奇怪的是,如果我只是从URL中获取$ productBox变量并使用它,那么代码就可以工作,只有当我将它存储在会变得混淆的会话变量中时。 我想检索第二个$ productBox并将其分配给会话var productcheck1等等。 不幸的是,我必须一次拿一个var,否则我只能通过所有4个产品,而不用担心会话。
也许我做这个太复杂了,任何帮助将不胜感激谢谢!
你必须在两个脚本中使用session_start(),一个设置值(可能打印<iframe> -element?)和生成iframe内容的脚本。
例如“外部”脚本
<?php // test.php
session_start();
$_SESSION['productcheck'] = array();
$_SESSION['productcheck'][] = 'A';
$_SESSION['productcheck'][] = 'B';
$_SESSION['productcheck'][] = 'C';
session_write_close(); // optional
?>
<html>
<head><title>session test</title></head>
<body>
<div>session test</div>
<iframe src="test2.php" />
</body>
</html>
和iframe内容的脚本
<?php // test2.php
session_start();
?>
<html>
<head><title>iframe session test</title></head>
<body>
<div>
<?php
if ( isset($_SESSION['productcheck']) && is_array($_SESSION['productcheck']) ) {
foreach( $_SESSION['productcheck'] as $pc ) {
echo $pc, "<br />n";
}
}
?>
</div>
</body>
</html>
不知道你的会话变量有什么问题,但你可以通过iframe中的url来传递所有四个变量。 您只需要将键值对与“&”分开。 所以像这样:
file.php?key1 = val1&key2 = val2&key3 = val3等等。
这可能比使用会话变量更好,如果你只是试图将数据导入到其他文件中。
链接地址: http://www.djcxy.com/p/59721.html上一篇: Passing sessions variables through an iframe, php
下一篇: How to "snmpwalk" a tomcat with activated JMX to monitor it