php标题无法正常工作,可能出现什么错误?

时间:2015-11-20 05:12:32

标签: php mysql

在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,任何人都可以告诉我任何可能的错误,使这个问题和任何方式调试?感谢

2 个答案:

答案 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()方法