我正在研究一个不存在的项目。我正在尝试将用户重定向到“请稍候”页面,而其他用户已移动。
在比赛开始时,我给每位球员一封信(我知道这有效)。
$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>");
它什么都不做。
答案 0 :(得分:1)
这是因为标题重定向功能仅在您打印HTML内容(或任何内容)之前有效。
如果您收到了信息,则需要使用HTML重定向:
<meta http-equiv="refresh" content="0; url=http://example.com/" />
答案 1 :(得分:1)
您也可以像这样重定向:
print("<script>top.location.href = '...'</script>")