我正在做一个零和交叉项目。我正在尝试将用户重定向到"请稍候"页面,而其他用户正在移动。
在游戏开始时,我给每个玩家一封信(我知道这很有效)。
$find_user = mysql_query("SELECT `user_id` FROM `games` WHERE `game_id`='".$number_of_games."'");
$find_user = mysql_result($find_user, 0);
if($find_user == $_SESSION["userId"]) {
$letter = "X";
} else {
$letter = "O";
}
生成页面的其余部分,并将内容写入页面。
用户移动后,将运行以下程序:
header("Location: ../wait".$turn.".php");
这适用于"X"(在数据库中创建游戏的人),他们会被重定向到一个页面,上面写着"请等待O移动"。
然而,当"O"移动时,它们不会被重定向到"立即等待"页面。
标头在代码中的同一位置。
此外,如果这有什么不同。。。以下代码位于玩家玩游戏的php文件的底部(刷新它)。
$url=$_SERVER['REQUEST_URI'];
header("Refresh: 5; URL=$url");
我知道结构很混乱,但这是我的第一个大型PHP项目,我可以提供一些帮助。
为什么重定向是针对"X"而不是针对"O"?
更新:
如果我键入:
print("<script>top.location.href = '../waitO.php'</script>");
它重定向。
如果我键入:
print("<script>top.location.href = '../wait'".$letter."'.php'</script>");
它什么都不做。
您也可以这样重定向:
print("<script>top.location.href = '...'</script>")
这是因为标头重定向功能仅在打印HTML内容(或任何内容)之前有效。
如果你收到了信息,你需要用HTML重定向,比如:
<meta http-equiv="refresh" content="0; url=http://example.com/" />