我有一个以 session_start() 开头的 php 页面,它将用户信息存储在会话变量中。之后,它进入 (1) 长循环脚本进行计算或 (2) 数据查询部分,具体取决于来自先前表单提交的 _POST 数据。
即使脚本仍在循环并在另一个窗口中获取数据,我也想做一些查询。因此,我将有 2 个窗口选项卡,它们分别具有 (1)、(2) 相同的 php 页面。
问题是,除非我在执行 (1) 时和循环脚本之前使用 session_destroy(),否则这是无法完成的。否则 (2) 将被加载并且无法打开。我真的不想破坏会话,否则用户将不得不一次又一次地登录。那可能吗?谢谢。
ps:当我做(1)并打开一个隐身窗口做(2)时。即使没有 session_destory(),我也没有这个问题。
代码如下所示:
<?php
session_start();
echo "<form method='post'>
<input type='submit' id='one' name='one' value='one'>
<input type='submit' id='two' name='two' value='two'>
</form>";
$if_one = $_POST["one"];
$if_two = $_POST["two"];
if ($if_one) loop();
if ($if_two) query();
function loop()
{
//session_destroy();
$y = 0;
for ($i=0; $i<20000000; $i++)
{
$y += ($i * $i) % 5;
}
echo $y;
}
function query()
{
echo '222';
}
?>