php - session_destroy() 不工作

标签 php session logout

我的session_destroy() 不工作。当我以用户身份注销并返回浏览器时,显示用户在线。我在哪里有错误?谢谢。 :-)

文件登录.php

<?php
require_once('functions.php');
if(isset($_POST['submit'])){
    if((isset($_POST['username']) && $_POST['username'] != '') && (isset($_POST['password']) && $_POST['password'] != '')){
        $connection = conectDatabase();
        $query = "SELECT * FROM users WHERE username='" . $_POST['username'] . "' AND password='" . $_POST['password'] . "';";
        $result = $connection->query($query);
        if ($result->num_rows >0){
             session_start(); 
             $_SESSION['username'] = $_POST['username'];
             header('LOCATION: users.php');  
        } else {
             echo '<p class="formMessage">Username/password do not match !</p>';
        }
    } else {
        echo '<p class="formMessage">Username/Password field is empty</p>';
    }
}                        
?>

文件函数.php

<?php
function conectDatabase() {
    $connection = new mysqli('localhost', 'root', '', 'DB');     

    if(mysqli_connect_errno()) {
        die("error DB: " . mysqli_error() . "(" . mysqli_connect_errno() . ").");
    }
    return $connection;
}
?>

文件 logout.php

<?php 
    session_start();
    session_destroy();
    header('LOCATION: login.php');
?>

最佳答案

修改文件logout.php如下:

<?php 
    session_start();
    session_destroy();
    unset($_SESSION);
    session_regenerate_id(true);
    header('LOCATION: login.php');
?>

关于php - session_destroy() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23442054/

相关文章:

Hibernate:一级缓存

java - 注销后无法清除访问 token

session - Keycloak 注销请求不会注销用户

php - 函数参数中的尴尬 PHP 类型错误

php调试

php - laravel 5.8.* 安装失败

asp.net - 通过 Linkbutton 注销 Facebook

php - 如何防止 php "exec"参数中的恶意注入(inject)(webhook -> bash 脚本)

PHP 登录系统/ session 第一次无法工作

PHP session 未创建