通过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