单击注销按钮时会话未被销毁

时间:2014-09-30 09:08:06

标签: javascript php jquery ajax session

我一直试图在点击退出按钮时使用ajax函数销毁会话,但它确实通过ajax函数调用我的php脚本中的函数

AJAX功能

<div id="logout_btn" class="btn-header transparent pull-right">
    <span>
         <a href="<?php echo APP_URL; ?>login.php" title="Sign Out" onclick="logoutck()" ><i class="fa fa-sign-out"></i></a> 
    </span>

    <script>
        function logoutck() {
            var sendingData = { jsonrpc: "2.0", method: "logout"};            
            $.ajax({
                    type: "POST",        
                    url: "/New_Dashboard/dashboard_html/server.php",
                    contentType: 'application/json; charset=utf-8',
                    dataType: "json",
                    async: false,
                    data: JSON.stringify(sendingData),
                    success: function( msg ) {
                        alert( "Data Saved: " + msg.result );
                    }
            });
        }
    </script>

用于销毁会话的PHP函数

function logout(){
    session_start();

    if(isset($_SESSION)){
        session_destroy();
    }

    header("Location: login.php");
}

3 个答案:

答案 0 :(得分:0)

建立这样的链接:

<a href="logout.php" >Logout</a>

你的logout.php:

<?php
session_start();
session_destroy();
header("location:login.php");
?>

答案 1 :(得分:0)

如果登录成功,则在登录验证.php文件中设置$_SESSION['login'] = 1;。然后注销使用以下代码。

<?php
 session_start();
 unset($_SESSION['login']);
 header("Location: login.php");
?>

答案 2 :(得分:0)

首先,你需要像这样编辑一个标签:

<div id="logout_btn" class="btn-header transparent pull-right">
    <span>
         <a href="logout.php"><i class="fa fa-sign-out"></i></a> 
    </span>
</div>

同时取出所有不需要的JavaScript。

现在您需要忽略您的注销功能,只需创建一个名为logout.php的新文件。这将包含:

<?php
    session_start();
    session_destroy();

    header("Location: login.php");
    exit(0);
?>

这可能是使用会话记录用户的最简单示例。您可能需要添加它以满足您的需求。