php logout redirect header break代码

时间:2016-01-04 11:55:59

标签: javascript php jquery ajax

我使用jQuery Ajax' get'将php导向注销功能。在注销功能时,重定向标题会破坏代码,并且在该点之后不会继续。没有Ajax响应。

无法弄清楚为什么会发生这种情况......之前我曾使用过重定向但是这个停止了我继续任何代码。

我做错了什么?

jQuery的:

$(document).ready(function() 
{
    $('#logout').on('mouseup', function (e) 
    {
        logOut();
    });

    function logOut()
    {
        console.log('start');
        $.get('php/function/active-user.php?logout=true', function(response)
        {
            //This never gets called when using 'header' line in php
            console.log(response);
            console.log('end');
        });
    }
 }

PHP:

if(isset($_GET['logout']))
{   
    session_start();
    include("../data/connection.php");
    $db = connect();

    logOut($_SESSION['active-user'], $db);
}


function logOut($user_id, $db)
{
    echo 'logging-out!';
    session_destroy();
    header("Location: user-logout.php"); //header doesn't redirect and no code works after this point
    logUser('out', $user_id, $db);
    exit;

}

2 个答案:

答案 0 :(得分:0)

function logOut(redirectPage)
    {
        console.log('start');
        window.location = "php/function/active-user.php?logout=true";
    }

您无需在此处进行AJAX调用,因为您无论如何都希望重定向用户,那么为什么不首先重定向用户。我也不能在这里看到任何安全问题。

答案 1 :(得分:-1)

第一步是在PHP中打开error reporting以查看错误

例如: error_reporting(E_ALL);