使用Ajax调用Php函数请求更改会话变量

时间:2014-04-19 02:21:49

标签: php jquery ajax

我在home.php页面和user.php页面之间存在通信问题。

主页上有

的链接

<span class="log_out"> <a id="logOut">Log Out</a></span>

当用户点击此页面时,将启动ajax调用

这是我的ajax电话

<script>
    $( document ).ready(function() {
        $( "#logOut" ).click(function() {
        $.ajax({
         url: 'class/user.php',
         data: "logout=1",
         success: function(data) {
            $('body').append(data);
         }
         });
        });
});

在user.php中的

我有这个

<?php
    if(isset($_GET['logout'])){
        echo "alert";
        $_SESSION['user'] = 0;
    }
?>

当我点击退出时,警告正在身体中附加,但会话变量根本没有改变。

我不知道这里发生了什么。

2 个答案:

答案 0 :(得分:1)

您需要将session_start();添加到user.php文件的顶部,并在设置会话后使用echo进行调试,否则您将收到警告。时刻。

答案 1 :(得分:1)

if(isset($_GET['logout'])){
    if(!isset($_SESSION)) 
    { 
        session_start(); 
    } 
    $_SESSION['user'] = 0;
    Print_r ($_SESSION);

}

我找到了解决方案感谢帮助大家,我只需要在if else子句中添加会话验证,虽然我在页面顶部有这个验证,当我在函数中添加它时,问题已修复