web-dev-qa-db-ja.com

ログアウト時に特定のPHPセッションの設定を解除する方法

2つのサイトがあります。

あるサイトではこれは真実です:

session_is_registered('site1sess')

もう1つはこれに該当します。

session_is_registered('site2sess')

これらは、ログイン時にユーザーに与えるセッション名です。私の問題は、あるサイトからログアウトすると、次のものを使用しているため、他のサイトでもログアウトすることです。

session_destroy(); 

Site1または2からログアウトして、そこからすべてのセッション変数を削除する最良の方法は何ですか?ありがとうございました。

12

サイト1または2に固有のすべてのセッション変数にunset()を使用します。

unset($_SESSION['site1']);
//or
unset($_SESSION['site2']);

ご存知のように、session_is_registeredは、PHPバージョン5.3.0。 ドキュメントを参照 で廃止されました。

50
Abs

unset($_SESSION['site1']);の前にsession_start()を次のように置きます

<?php
    session_start();
    unset($_SESSION['site1']);
?>
2
user92635438

ログインしたユーザーをログアウトしたくない場合は、セッションの設定を解除できます。

if(isset($_GET['logout'])) {
   session_unset($_SESSION['user']);
}
0
Ashish v

1からログアウトするとき

unset($_SESSION['site1sess']);

または他からログアウトするとき

unset($_SESSION['site2sess']);
0
FinalForm