PHPでsession_destroy();
を使用している場合は、session_destroy();
が呼び出されたときに$_SESSION
のすべての変数を削除することがわかります。 Webアプリケーションが2つの異なる変数名を使用しても、これらの変数はまだ$_SESSION
にあり、session_destroy();
が呼び出されると失われます。
私のアドバイスは、あなたの$_SESSION
変数にプレフィックスを追加し、それらの接頭辞$_SESSION
変数をクリアするのではなくこれは、Webアプリケーションのsession_start();
後に次を追加することによって行うことができsession_destroy();
を呼び出すための別の関数を作成することです。 webappの1のために
:
// Web App 2
define("prefix", "WebApp2");
//SET YOUR SESSION VARIABLES LIKE THIS
$_SESSION[prefix.'authenticated'] = true;
が続いsession_destroy();
function destroy_session($prefix){
foreach($_SESSION as $key => $value) {
if(preg_match('/^'.$prefix.'/', $value))
unset($_SESSION['key']);
}
}
するのではなく、私たちの前に置かセッション変数を破壊するために別の関数を作成し、その後、呼び出し:webappの2については
// Web App 1
define("prefix", "WebApp1");
//SET YOUR SESSION VARIABLES LIKE THIS
$_SESSION[prefix.'authenticated'] = true;
あなたのウェブアプリのこの機能の代わりにsession_destroy();
destroy_session(prefix);
は2つです'$ _SESSION'配列内の同じインデックス名を使用するアプリケーション? – Ocracoke
他のアプリケーションのセッションを維持するために、別のブラウザを試すことができます。 –
どのようにセッション変数をクリアしますか? –