在lobby.php
<script>
function join_game(roomid){
$.ajax({
method: "post",
dataType: "json",
url: "join.php",
data: {room_id: roomid}
});
}
<script>
在join.php中
<?php
session_start();
include("connect.php");
global $conn;
$username = $_SESSION['login_user'];
$id = $_POST["room_id"];
$sql = "UPDATE check_exist
SET player_join = '$username' , game_exist_lobby = '0'
WHERE ceid = '$id'";
mysqli_query($conn, $sql);
header("location: game.php?last_id=" . $id);
mysqli_close($conn);
我不明白为什么标题不起作用并保留在页面上,但是SQL语句正在向数据库工作并更新数据,我不知道如何调试,类似的代码正在工作其他的PHP,任何人都可以告诉我任何可能的错误,使这个问题和任何方式调试?感谢
答案 0 :(得分:2)
重定向不适用于ajax。
尝试这样,
在ajax中,增加成功。
success: function(data){
window.open("game.php?last_id="+data);
}
在php中,
echo $id;
$id
将成功获取数据,使用该数据并重定向。
最终守则
$.ajax({
method: "post",
dataType: "json",
url: "join.php",
data: {room_id: roomid},
success: function(data){
window.open("game.php?last_id="+data);
// use data from success or use room_id,
}
});
成功,
使用数据from
成功或使用room_id
,如果您使用room_id
,则无需{php}文件中的echo $id
。
答案 1 :(得分:1)
试试ob_start();
和ob_flush();
将您的obstart();
放入页面顶部
使用Javascript使用window.location.href
<?php
echo "<script type='text/javascript'>window.location.href = 'page1.php';</script>"
exit();
?>
或在标题重定向后使用
exit()
方法