2010-04-02 70 views
1

我得从那里林定期进行此调用一个HTML页面:PHP数据库会话处理

function logon(id) 
{ 
$.get("data.php", { action: 'online', userID: id}, function(data){ 
    $("#msg").html(data); 
}); 
} 

这样做是它调用data.php这个SQL脚本:

$sql = "update user_sessions set expires=(expires + 2) where userID = $userID"; 
mysql_query($sql, $conn) or die(mysql_error()); 
echo $sql; 

我可以看到的回声,SQL的语法和值是正确的,但过期的变化领域不完成,只有在IE8!它可以在其他ff,safari,chrome,ie6和7中正常工作。

没有什么浏览器特定于此次调用,但user_sessions表用于存储PHP会话。我只是在呼叫时增加会话到期时间。 IE8的会话处理是什么阻止了会话时间的改变?是否有任何需要更改的缓存或cookie问题?

回答

2

使用.post来确保缓存不会弄脏事情。

+0

这解决了它。 谢谢。 – psyb0rg 2010-04-02 19:59:05

0

下载并安装Fiddler以确保Ajax调用发送到服务器。有可能是某种ie8 JavaScript不兼容性阻止Ajax发射?

+0

其他呼叫更新页面等。工作正常。 echo $ sql显示收到的数据是正确的。 – psyb0rg 2010-04-02 19:58:35