php注销重定向头中断代码

php logout redirect header breaks code

本文关键字:中断 代码 重定向 注销 php      更新时间:2023-09-26

我使用jQuery Ajax'get'将php引导到logout函数。当执行注销功能时,重定向标头会中断代码,并且在该点之后不会继续。没有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;
}
function logOut(redirectPage)
    {
        console.log('start');
        window.location = "php/function/active-user.php?logout=true";
    }

你不需要在这里进行AJAX调用,因为你无论如何都想重定向用户,那么为什么不首先重定向用户呢。我在这里也看不到任何安全问题。

第一步是打开PHP中的错误报告以查看错误

例如:error_reporting(E_ALL);