session_set_save_handlerを利用してセッションデータをDBに格納しているのですが、session_regenerate_idを使用するとIDが毎回変わるため、session_set_save_handler での UPDATEやDELETEなどが出来なくなってしまいます。
DELETE FROM session WHERE sid = ".session_id()."の為。
どのようにすれば両方同時に使用できるのでしょうか?
No.1ベストアンサー
- 回答日時:
session_set_save_handler関数は、
設定可能な各、open/close/read/write/destroy/gcに
引数として付加する値がありまして、
writeだった場合は、第一引数にセッションのIDが与えられます。
この値を元に値を格納すればよいのではないかと思いますが、いかがでしょうか。
質問者さんの例文はdestroyなので、destroyの例を下記に。
<?php
function _destroy($session_id){
global $DBCON;
mysql_query($DBCON, "DELETE FROM session WHERE sid = '".$session_id."'");
return true;
}
?>
上記はmysqlを使用している場合の一例です。
session_id関数を参照するのではなく、引数として与えられてきたセッションのIDを参照しています。
また、PHP5.1.0以降をお使いであれば、session_regenerate_id(true)と引数にtrueを入れてやれば、古いセッションはregenerateされたときに削除されることを補足しておきます。
直、そのほかの関数に関して、全体的にどのように書くかは
http://yuubiseiharukana.blog.shinobi.jp/Date/200 …
上記URLのブログのエントリでまとまっておりましたので参考にされると良いかも知れません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(スマートフォン・携帯電話・VR) iPhone se 第三代に 変えて二週間ぐらいなんですけど、 毎日スマホ本体が暑い時あります。 i 1 2023/06/07 20:20
- iPhone(アイフォーン) 楽天モバイル iPhone SE (第3世代) の24,000ポイント還元はMNPで新規のみですか? 1 2022/07/02 01:00
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- その他(動画サービス) https://otologic.jp/free/se/game-fighting01.html h 2 2022/07/28 17:18
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- iPhone(アイフォーン) iPhone 初めて買いました iPhone SE wi-fi とデータ通信どこにありますか? 3 2022/10/29 03:36
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- イヤホン・ヘッドホン・補聴器 70年代 4チャンネルヘッドホン プラグ2本 使い方 2 2023/02/04 07:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
session_set_save_handler と ...
-
PHPのセッション有効期限について
-
ログインしたら他からログイン...
-
セッション変数にパスワードを...
-
セッションのワンタイムチケッ...
-
$_SESSIONと、POSTやGETの違い
-
PHPで自動ログインの仕組み
-
DTOとEntityの差は何ですか。
-
Yahoo! JAPAN IDを新規取得でき...
-
Dosブロンプトでtabを出力したい
-
VBA コレクションに2次元配列...
-
エラーの理由が分りません。Pri...
-
「取得先」という表現について
-
switch()文で値の大小比較
-
バッチファイルで、全てのウィ...
-
shシェルスクリプト 空白行の...
-
opencvの画像データを格納する...
-
バッチファイルでpingの結果を...
-
【C#】DataGridViewの最大列数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
PHPのセッション有効期限について
-
セッション変数にパスワードを...
-
複数のサーバで運営する場合の...
-
ログインしたら他からログイン...
-
ブラウザを閉じた後もセッショ...
-
セッションを維持したまま、サ...
-
PHP SESSION変数を複数使用でき...
-
session_start()で生成されるセ...
-
HTTPヘッダー内での順番などに...
-
「ログイン機能を持たせる」説...
-
session_regenerate_id
-
Sessionの上限について
-
初歩的な質問 セッション管理に...
-
$_SESSIONと、POSTやGETの違い
-
ログイン画面をはさんだ後、自...
-
セッション変数の命名規則
-
複数ページでセッションを使わ...
-
セッション ID とセッション名...
-
セッションのスコープ(有効範...
おすすめ情報