我正在尝试在php中制作一个计时器。它位于iframe上,因此iframe可以定期刷新。我无法将会话变量传递给iframe。如果我回显页面上的会话变量(iframe上方),它显示正确,但它不想在iframe中回显。请帮忙。
第1页
<?php
session_start();
....
if ($_SESSION['auth']) {
$d=getdate();
$h=$d['hours'];
$m=$d['minutes'];
$s=$d['seconds'];
$_SESSION['h']=$h;
$_SESSION['m']=$m;
$_SESSION['s']=$s;
$_SESSION['m12']=-1;
echo "<a href='http://localhost/index.php?option=com_content&view=article&id=50&tid=$tid'>Continue</a>";
?>
第2页
<IFRAME SRC="timer.php" WIDTH=450 HEIGHT=100></IFRAME>
timer.php
<head>
<meta http-equiv="Refresh" content="1; ">
<?php
session_start();
?>
</head>
<body>
<?php
$hourin=$_SESSION['h'];
$minin=$_SESSION['m'];
$secin=$_SESSION['s'];
echo $secin . " ";
答案 0 :(得分:0)
在timer.php
中,将session_start()
移至脚本的第一行。会话需要在标头中设置的cookie,除非您启用了输出缓冲,否则在发送内容后无法修改。
这可能无法解决问题,但无论如何都要这样做,因为这样可以避免以后遇到的其他问题。
如果这不能解决问题,请在var_dump($_SESSION);
结尾和page1
正文中向我们展示timer.php
的结果。
答案 1 :(得分:0)
我认为如果您将iframe网址中的变量作为get值传递,它可能会解决您的问题。例如,在第2页中,将iframe链接创建为:
<IFRAME SRC="timer.php?h=<?php echo $h; ?>&m=<?php echo $m; ?>&s=<?php echo $s; ?>" WIDTH=450 HEIGHT=100></IFRAME>
并在timer.php中
<?php
$hour = $_GET['h'];
$min = $_GET['m'];
$sec = $_GET['s'];
...
?>