2013-09-10 4 views
0

У меня заканчивается сеанс cookie сеанса. при каждом входе в систему и выходе из системы браузер по-прежнему показывает «PHPSESSID».завершение сеансов cookie PHPSESSID

Ниже приведен адрес веб-сайта для php-файлов, которые я использовал для сборки. Я пробовал как «Chrome и Firefox», так и еще одну проблему. Я знаю, что это большая просьба о помощи, но я бы попросил его много.

Файлы находятся в исходной папке со следующими файлами. фг-membersite.php membersite_config.php

https://github.com/simfatic/RegistrationForm/tree/master/source

ответ

0

попробовать следующее в функции выхода из системы

session_unset(); 
session_destroy(); 
2

Вы должны сбросить куки сессии в https://github.com/simfatic/RegistrationForm/blob/master/source/include/fg_membersite.php, функция Выход

Вы можете сделать он выглядит следующим образом

<?php 
// Initialize the session. 
// If you are using session_name("something"), don't forget it now! 
session_start(); 

// Unset all of the session variables. 
$_SESSION = array(); 

// If it's desired to kill the session, also delete the session cookie. 
// Note: This will destroy the session, and not just the session data! 
if (ini_get("session.use_cookies")) { 
    $params = session_get_cookie_params(); 
    setcookie(session_name(), '', time() - 42000, 
     $params["path"], $params["domain"], 
     $params["secure"], $params["httponly"] 
    ); 
} 

// Finally, destroy the session. 
session_destroy(); 
?> 

Пример кода взято с http://php.net/manual/en/function.session-destroy.php. Вы можете найти более подробную информацию в php.net

0
  1. Файлы в «включают» папку в «источник» папку

  2. PHPSESSID не обязательно что-то не сделать с входа/выхода из системы, его просто чтобы обработать сеанс.

Как вы можете видеть здесь (https://github.com/simfatic/RegistrationForm/blob/master/source/include/fg_membersite.php, начиная со строки 172):

function LogOut() 
{ 
    session_start();   
    $sessionvar = $this->GetLoginSessionVar();   
    $_SESSION[$sessionvar]=NULL;   
    unset($_SESSION[$sessionvar]); 
} 

Этот код не уничтожить сессию, а просто сбрасывает переменную в массиве $ _SESSION. Вы можете использовать

http://de2.php.net/manual/en/function.session-unset.php

следуют

http://de2.php.net/manual/en/function.session-destroy.php

для этого или просто проверить, если $ _SESSION [$ sessionvar] установлен и содержит достоверную информацию, чтобы увидеть, если пользователь вошел в систему. Таким образом, вы сохраняете сеанс, который может содержать другую ценную информацию.

0

К сожалению низкого качества ответа от моего предыдущей

0

Вы можете легко сделать это на стороне клиента, используя скрипт ниже.
(Возможно, потребуется изменить значение пути и хоста)

document.cookie = "PHPSESSID=; expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/;host=localhost"; 
Смежные вопросы