如果这个问题以前已经回答过了,我很抱歉,但我不确定如何轻松地描述它…
我正在用PHP和MySql编程一个系统,允许登录的用户建立一个运动队。我设置了一个系统,用户在其中"出价"的球员,该球员被添加到他们的花名册。写入数据库的代码非常简单,工作良好:
mysql_query("UPDATE bidpool SET BidExpires='$newbidexpires' WHERE Player='$player'");
mysql_query("UPDATE bidpool SET CurrentBid='$bid' WHERE Player='$player'");
mysql_query("UPDATE bidpool SET TeamName='$NewTeamName' WHERE Player='$player'");
当我检查数据库时,该信息输入正确。
当我加载另一个页面,其中团队更新的花名册所在,这是我使用的代码:
echo "<table>";
$result = mysql_query("SELECT * FROM bidpool WHERE TeamName='$teamname'");
$playerbid = 0;
$i = 0;
$num = mysql_numrows($result);
while ($i < $num) {
$playerroster = mysql_result($result, $i, "Player");
$playerbid = mysql_result($result, $i, "CurrentBid");
$playerexpires = mysql_result($result, $i, "BidExpires");
IF ($time > $playerexpires) {
$playerexpires = "BID WON";
}
echo "<tr>
<td width='30%'>$playerroster</td>
<td width='30%'>$playerbid</td>
<td width='30%'>$playerexpires</td>
</tr>";
$i++;
}
echo "</table">;
问题?当有一个新的出价时,所有的东西都会正常地写入数据库。当我在Firefox中加载花名册页面时,它会显示花名册,就像它在数据库中一样,即使是最近的更改也只会在几秒钟后显示出来。
当我在Safari和Chrome中加载它时,它显示了一个旧版本的花名册。即使我清空了浏览器缓存,重置了浏览器,甚至重启了我的电脑,它仍然显示一个旧版本的数据库。
这种类型的系统,有多个用户在几天内对球员进行竞标,要求玩家尽快看到最近的竞标和他们最近的名单变化。但如果浏览器不配合,它将无法工作。
如果有区别的话,这个网站是在WordPress上运行的。
你觉得我哪里做错了?为什么这个系统可以在一个浏览器中完美运行,而在另一个浏览器中却不行?
这个问题肯定是缓存问题;你可以通过插入一些额外的URL参数来测试它是客户端问题还是Wordpress问题。
尝试使用?extraRandomParameter=changeThisValueEachTime.
如果这有效,这是一个客户端;否则,你将不得不更具体地研究Wordpress如何缓存(以及如何绕过它)。