セッションを使用せずにセッション内のすべてのユーザーデータを設定解除する方法はありますか?私はユーザーをログアウトさせようとしており、すべてのユーザーデータを1つずつアンセットする必要があります。セッション中に設定された可能性のあるすべてのユーザーデータを追跡するのは面倒です。私はちょうどuserdataに設定されている可能性があるすべての設定を解除したい。CodeIgniter:すべてのユーザーデータを設定しますが、セッションを破棄しないでください
答えて
これは非常に簡単です!
$this->session->unset_userdata('some_name');
または
$array_items = array('username' => '', 'email' => '');
$this->session->unset_userdata($array_items);
私はこのことができます願っています!
編集:あなたは実際にあなたのセッション(奇妙なもののようなもの)の何かを追跡していないようです。もちろん
function unset_only() {
$user_data = $this->session->all_userdata();
foreach ($user_data as $key => $value) {
if ($key != 'session_id' && $key != 'ip_address' && $key != 'user_agent' && $key != 'last_activity') {
$this->session->unset_userdata($key);
}
}
}
、あなたががデフォルトのCIセッションのセットアップを使用して前提としています。あなたは私が書いたこの関数を呼び出すことができます。 CodeIgniterのフォーラムからコピー
私は誤ってそこにはいけない何かをユーザデータに残したくありません。私はあなたの解決策が働くかもしれないと思います。おそらくこれは 'unset_userdata'をオーバーライドすると良いでしょう。そうすれば、キーが渡されていなくても動作します(すべて削除されます)。思考? – StackOverflowNewbie
:
それがないすべてのユーザーのクッキーを殺すされていますが、ユーザデータは は、現在のリクエストが終了するまでセッションクラス内に残るでしょう。 セッションは次のリクエストで再初期化され、 ユーザデータはありません。基本的には、ユーザーとサーバーセッションの間でリンク を切断しますが、要求の最後まではデータはまだ のままです。
、それは問題の多くは、あなたがこれを行うことができます場合:
の$ this - >セッション - >ユーザデータ=配列();
私はそれを試してください。
$this->load->library('session');
//書き込みパラメータセッションデータ
$this->session->unset_userdata('sessiondata');
//セッション未設定のグループにしたいならば、正確にあなたが `$を使用したくないのはなぜ
$array_items = array('username' => '', 'email' => '');
$this->session->unset_userdata($array_items);
- 1. Railsセッション[:user_id]は破棄しないでください
- 2. セッションを破棄しますが、1つの変数を設定してください
- 3. codeigniterセッション2つの異なるアプリケーションを破棄します
- 4. 特定のセッションを破棄します
- 5. ブラウザが終了したら、グローバル変数を破棄または設定しないでください。
- 6. CodeIgniter 3セッションがページリフレッシュ後に破棄されます
- 7. セッションがコードシニターで破棄されます
- 8. チェックボックスの破棄を確認してください
- 9. 特定のユーザーからのすべてのセッションを破棄します
- 10. tkinterウィンドウを破棄します。さらに進んでください
- 11. アンドロイドでセッションを作成し、特定の時間にセッションを破棄します。
- 12. リフレッシュ時にセッションを破棄します。
- 13. 終了したセッションは破棄されていません
- 14. セッションはCodeIgnitorで破棄されます
- 15. ステージングされていないフォルダを破棄します
- 16. PHP - 10分でアクションがない場合はセッションを破棄します
- 17. laravelでセッションが破棄されないと、ログインページでセッションを取得できないのはなぜですか?
- 18. NSURLSessionDataTask異なるスレッドでUIWebViewのセッションCookieを破棄します
- 19. asp.netセッションをセッションで破棄する
- 20. Zend Frameworkでセッションが破棄されない
- 21. 値がまだ設定されていない場合にのみ、値を設定してください
- 22. jquery UIダイアログ(入力付き)破棄しないでください
- 23. 特定のページでのセッションの破棄と設定解除
- 24. は背景破線が、結果を設定してみてください - アンダー
- 25. ネストされたデフォルト値を破棄して設定する
- 26. CryptoStreamを破棄して、元のストリームを破棄しますか?
- 27. PHPセッションがすべてのセッションを設定解除します
- 28. PHPセッションがログアウトボタンで破棄される
- 29. 古いnginxの設定がすべてのリクエストを破棄したときのベストな方法
- 30. セッションを破棄する
それを試してみてくださいthis-> session-> sess_destroy(); '、これはあなたがしようとしていることを正確にしていますか? –
あなたの質問によく答えるように私の答えを修正しました。 – envysea