我想在我的頁面上有一個類似彗星的iframe,但是當會話更改iframe中的信息時而不是,並且我在iframe中做了$_SESSION
變量的轉儲,並且沒有更改。我如何刷新彗星會議?
我的問題是,當客戶端$_SESSION
更改時,如何更新彗星iframe中的$_SESSION
變量?
非常感謝^ _^
更新代碼:
客戶端:
<?php
session_start();
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test Comet</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type='text/javascript' src='../js/jquery.js'></script>
<script type="text/javascript">
function test_function(msg){
$('p').html(msg)
}
$('div').click(clickMe);
function clickMe(event){
$.ajax({
url: 'addSess.php'
})
}
</script>
</head>
<body>
<p>This is a test</p>
<div>click me</div>
<iframe src="output.php" width="0" height="0" style="display: none;"></iframe>
</body>
</html>
彗星IFRAME(output.php):
<?php
session_start();
ob_start();
echo 'hello';
flush_buffers();
while(true){
echo "<script>window.parent.test_function('".time().' session: '.$_SESSION['count']."');</script>";
flush_buffers();
sleep(1);
}
function flush_buffers(){
ob_end_flush();
ob_flush();
flush();
ob_start();
}
?>
addSess。 PHP:
<?php
session_start();
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
$_SESSION['count']++;
echo $_SESSION['count'];
?>
也是另一件事我注意到的是它去我的網站,一旦你只要進行更改$_SESSION
,所有重載凍結了瀏覽器,因爲我關閉客戶端,一切負載
@Khez,我在底部添加了代碼和註釋 – Neal 2011-04-05 15:02:13
那麼有幾件事情是錯誤的: - ?更新*我的帖子。 – Khez 2011-04-05 15:11:17
@ khez,讓我知道它何時更新 – Neal 2011-04-05 15:13:26