![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
ログインで利用している$_SESSIONを、ログイン中でもいたるところで利用したい、ということでいいかね?
$_SESSIONを2次元連想配列で持たせればどうでしょうか?
ログイン認証で持つセッション名:$_SESSION['auth']
このときのログインIDとかは
$_SESSION['auth']['login_id']に格納します。
プロフィール変更画面のForm受け渡しで使うセッション名:$_SESSION['profile_edit']
このときに受け渡す項目名値は
$_SESSION['profile_edit']['user_name']
$_SESSION['profile_edit']['user_tel']
などに格納します。
プロフィール変更画面の修正が終わったら、unset($_SESSION['profile_edit'][)でクリア。こうすればログインの情報はクリアされずにいけます。
的外れでしたらごめんなさい。
ありがとうございます。
いえ、全然的外れではありません。2つの状態を保持するのに、例えばクッキーなら、SESSID1とSESSID2の二つを発行できますが、セッションなら一つしか発行できないですよね?
おそらく、アクセス元を判別できればいいだけなので、二つ発行する意味がないのだと思うのですが、どのようにしたらいいのかと思いました。
$_SESSION['auth'] = $arr_auth;
$_SESSION['profile'] = $_POST;
みたいにすればいいということでよね。
このやり方は、常套手段なのでしょうか?
No.3
- 回答日時:
常套手段である、というより私はこういう使い方で問題無い、という認識でいます。
$_SESSIONは、IDをはく、というよりも普通に変数として利用でき、閲覧者一人一人分、固有の情報を持ちまわれる、という認識です。奥深い内部ではどのような制御であるかはわかりません。一般的な「セッション」概念と$_SESSIONは別物です。
わかってらっしゃるかもしれませんが、つまり、ログイン情報など閲覧者固有の情報を、各ページで持ち回り整合を保ち続けることを「セッション」管理といい、これを解決する技術的な方法として、$_COOKIEや$_SESSIONという変数が用意されている、と理解して誤りではないと思います。
「二つ以上のセッションが同時に走る」という考え方より、固有識別のために、変数(配列)として自由に利用できる、という考えでOKではなかろうかと。
私は独自のフレームワークでこうしていますので、このやり方がそちらのフレームワークに即しているなら
$_SESSION['auth'] = $arr_auth;
$_SESSION['profile'] = $_POST;
という使い方でOKと思います。
No.1
- 回答日時:
きちんとやるなら、テンポラリデータとセッションを分けてしまった方が良い気がします。
私はtmpfsやmemcachedなど、メモリを使ってテンポラリデータを作ることが多いです。
ただし、テンポラリの方はcronなどでGCに頼らない削除機能が必要なので、ちょっと面倒です。
それほど負荷の高いサイトでなければ、PHPのSESSIONに入れてしまってもいいんじゃないかな?と思います。
この回答への補足
テンポラリデータが確認画面の状態保持で、セッションが認証状態の保持ということでよろしいですか?
すいません、あとレンタルサーバでの運用を考えています。ですので、PHPのSESSIONを使うと思うのですが、どのように、二つの状態を保持すればよいのかなと思いまして。
cookieなら二つのIDを発行して、DBに実データを保持できますが、セッションなら、どのようにやればいいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- UNIX・Linux Ubuntu on Xorgのログインについて 2 2023/08/10 15:16
- 所得税 電子税?のメールについて教えてください 8 2022/09/04 21:38
- PHP php ログイン 1 2022/11/01 00:24
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ログイン画面をはさんだ後、自...
-
URLのパラメータをGETのままで...
-
セッション ID とセッション名...
-
セッション変数で定数を宣言す...
-
Sessionの上限について
-
セッション変数にパスワードを...
-
PHPのセッション有効期限について
-
バッチファイルでpingの結果を...
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
【C#】DataGridViewの最大列数...
-
Yahoo! JAPAN IDを新規取得でき...
-
DTOとEntityの差は何ですか。
-
switch()文で値の大小比較
-
wordの差し込み印刷で文字...
-
ps3で久しぶりにCDの音楽情報取...
-
エラーの理由が分りません。Pri...
-
shシェルスクリプト 空白行の...
-
EXCEL、マクロ-改ページ行番号...
-
開始と終了を指定して、その間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLのパラメータをGETのままで...
-
PHPのセッション有効期限について
-
セッション変数にパスワードを...
-
複数のサーバで運営する場合の...
-
ログインしたら他からログイン...
-
ブラウザを閉じた後もセッショ...
-
セッションを維持したまま、サ...
-
PHP SESSION変数を複数使用でき...
-
session_start()で生成されるセ...
-
HTTPヘッダー内での順番などに...
-
「ログイン機能を持たせる」説...
-
session_regenerate_id
-
Sessionの上限について
-
初歩的な質問 セッション管理に...
-
$_SESSIONと、POSTやGETの違い
-
ログイン画面をはさんだ後、自...
-
セッション変数の命名規則
-
複数ページでセッションを使わ...
-
セッション ID とセッション名...
-
セッションのスコープ(有効範...
おすすめ情報