在循环中请求php图像文件

时间:2012-11-07 22:06:12

标签: php session-variables

我有一个生成图形的php文件,通过4个sql语句的答案填充,在另一个php文件中我有一个简单的循环,通过会话将变量通过会话发布到嵌套在sql的sql中来请求图像图像文件。

我已经检查过'sent'变量正在迭代我的循环......但问题是,如果我想用2迭代,我得到的2个图像是最后一个结果而不是graph1,graph2,我得到graph2,graph2 ...

是他缺少的东西?请任何帮助 - 非常新的PHP谢谢:) 继承人循环;

<?php
session_start();

for ($i = 1; $i < 3; $i++)
{
    $_SESSION['question'] = $i;
    ?>
    <div id="apDiv1"><img src="round.php"></div>
    <?php
}
?>

2 个答案:

答案 0 :(得分:1)

  

是他缺少的东西吗?

是的,PHP中的会话是阻塞的。这意味着当您的脚本运行时,round.php脚本不会运行。它将一直等到相关脚本完成。

更正确:甚至更长。输出必须首先进入浏览器。

然后它会将图形作为图像提供给您。然后$_SESSION变量已经很长时间到2了。

相反传递查询参数($_GET参数),$_SESSION在这里不起作用。

<?php

for ($i = 1; $i < 3; $i++)
{     
    ?><div id="apDiv1"><img src="round.php?graph=<?php echo $i; ?>"></div><?php
}

?>

答案 1 :(得分:0)

如果忽略html输出一秒钟,循环不会影响会话设置:

for ($i = 1; $i < 3; $i++){
  $_SESSION['question'] = $i;
}

$_SESSION['question'] = 2;

是等同的。你只是两次覆盖相同的值。