Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中注销可以在本地主机上工作,但不能联机_Php - Fatal编程技术网

在php中注销可以在本地主机上工作,但不能联机

在php中注销可以在本地主机上工作,但不能联机,php,Php,我有以下代码来注销用户。我已经有一段时间没有接触过这段代码了,虽然它在早期工作得非常完美,并且在我的本地主机设置上运行它时仍然可以正常工作,但即使重定向网页的标题现在也无法在这段代码中工作。请帮忙 会议开始;包含在sar.php文件中 <?php $pageTitle = 'Log Out'; require_once('sar.php'); //Contains session_start(); require_once('navig.php'); ?&

我有以下代码来注销用户。我已经有一段时间没有接触过这段代码了,虽然它在早期工作得非常完美,并且在我的本地主机设置上运行它时仍然可以正常工作,但即使重定向网页的标题现在也无法在这段代码中工作。请帮忙

会议开始;包含在sar.php文件中

<?php
    $pageTitle = 'Log Out';
    require_once('sar.php');  //Contains session_start();
    require_once('navig.php');
    ?>
<div id="wrapper">
<div id="container2">
<div  style="min-height: 370px">
    <?php
        if(isset($_SESSION['u_id'])) {
            $_SESSION = array();

            if(isset($_COOKIE[session_name()])) {
                setcookie(session_name(), '' ,time()-9999);
            }

            session_destroy();
            setcookie('rememberme', '', time()-9999);
            setcookie('friend', '', time()-9999);

        echo '<h2>You\'ve been logged out successfully.</h2>';
        header('Refresh: 1; url= http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']));
        }
        else {
        echo '<h2>You need to be logged in in order to be logged out. Right?</h2><br/>
            <h3>Redirecting you to home in 3 seconds. 1.. 2.. 3.. Here you go.';
        header('Refresh: 3; url= http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']));
        }
    ?>
</div>
</div>
</div>
<?php
    require_once('pair.php');
?>
即使用户未登录,标题也不会重定向页面。当用户登录时,cookies也不会被清除,正如我从Chrome的开发者工具中看到的那样

编辑:此页面联机,请尝试此操作

<?php
require_once('sar.php');  //Session_start at top position in sar.php is required.

// If you are gonna work with header() use it before you echo out content. Save HTML to variables then echo it out later.
if(isset($_SESSION['u_id'])) 
{
    // Unset both cookie and session arrays.
    unset($_SESSION);
    unset($_COOKIE);

    $content = '<h2>You\'ve been logged out successfully.</h2>';

    header("Refresh: 1; url= http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
}
else 
{
    $content = '<h2>You need to be logged in in order to be logged out. Right?</h2><br/><h3>Redirecting you to home in 3 seconds. 1.. 2.. 3.. Here you go.';

    header("Refresh: 3; url=http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
}

$pageTitle = 'Log Out';

require_once('navig.php');
?>
<div id="wrapper">
    <div id="container2">
        <div  style="min-height: 370px">
            <?php
                echo $content;
            ?>
        </div>
    </div>
</div>
<?php
require_once('pair.php');
?>

如果在会话初始化后可以调用U'r using header@DarkBee Headers,则无法生成输出,这里没有任何错误。如果到目前为止,完全相同的代码工作正常,并且仍然可以在我的本地主机设置上工作?@DarylGill在header之前查看输出,我尝试完全删除header。但是cookies和session变量仍然没有被清除。显示sar.php的内容只是为了澄清一些事情。