プリン+醤油=ウニみたいな組み合わせメニューを教えて!

なんとかセッションを使えるようになってきた程度のものですが
ここにきてちょっとした事が気になり質問させて下さい。

ポータルサイトをつくっており会員登録,ログイン,登録情報変更など
複数のフォームが存在します。

例えば・・・
ログイン時のセッション
$_SESSION['login_id'],$_SESSION['login_pass']

会員登録時のセッション
$_SESSION['touroku_id'],$_SESSION['touroku_pass']など10程度

会員登録情報変更時のセッション
$_SESSION['henkou_name'],$_SESSION['henkou_mail']など10程度

・・・のような感じです。

全てセッションで管理していることが問題なのかもしれませんが
いろんなページ(フォーム)をまわる度に多数のセッションを持っている
状態となってしまいます。

現状は、それぞれのページで必要のないセッションについては1つづつ
unsetで明記し消去しているのですが多数あるのでどうも手間に感じて
しまいます。

session_destroyで一括消去できれば楽なのですがログインしている
場合に必須なセッションもありそれもできない状態です。

この場合皆様はどのように管理をしているのでしょうか?
調べてみたのですが有力な情報もみつからず今後の参考になればと思い
質問させて頂きました。宜しくお願いします。

A 回答 (5件)

画面やグループ単位で変数を用意してはどうでしょうか。


多少、プログラムが見にくくなりますが、管理しやすくはなると思います。

例えば、
ログイン画面で主に使う変数には、
$_SESSION["gamen_login"]["login_id"]
$_SESSION["gamen_login"]["login_pass"]
会員登録時のセッションで使う変数には、
$_SESSION["kaiin_touroku"]["touroku_id"]
$_SESSION["kaiin_touroku"]["touroku_pass"]など
会員登録情報変更時のセッションで使う変数には、
$_SESSION["kaiin_henkou"]["henkou_name"]
$_SESSION["kaiin_kenkou"]["henkou_mail"]などです。

こうしておくと、
例えば会員登録時のセッションをunsetする時には、
unset($_SESSION["kaiin_touroku"]);
とするだけで、["touroku_id"]も["touroku_pass"]もクリアされます。

1つ目の ["********"] は画面ごとや、用途のグループごと、
言えば、一括でクリアしたい単位でまとめた名前をつければ、
少しは楽になるのかと思います。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
そんな方法もありなのですね~セッションで配列とは全く考え付きませんでした。

一見文字数は増えてしまうように見えるもののunsetで一括消去可能
できるメリットもあり実際には現状よりも文字数も減りそうですね!
これはナイスアイディアです^^

お礼日時:2008/08/02 15:13

ANo.4です。


一部訂正。

13行目のところ、
誤>$_SESSION["kaiin_kenkou"]["henkou_mail"]などです。
正>$_SESSION["kaiin_henkou"]["henkou_mail"]などです。
    • good
    • 0

個人的には、$_SESSION['touroku_id']など、重複しない様にしていれば、


別に必要のない情報が、様々なフォームで持たせていても問題ないと思っています。

メモリー?とかその辺を考えるているのなら、個人情報とか、からまないものは、hiddenで渡すといいと思います。

セキュリティを考えるなら、$_SESSION['login_id']ログインの際に必要な情報(ID、パスワード)は、セッションを使わないとだめだと思います。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
確かにセキュリティを考えるとhiddenは考えてしまいますよね^^;

print_rで確認すると多数のセッションを保持しているのを目にしてしまい
これでいいものかと一人で苦悩しておりましたw

当然ですが他のポータルサイトなどのセッションの保持数もわかるはずもなく
参考資料がない状態でこのような質問をさせて頂きました。

貴重なご意見ありがとうございます^^

お礼日時:2008/08/02 01:06

>検索画面の検索条件やソート項目


ブックマークとしてそのままつけれるようにGETで送りますね。
    • good
    • 0

私の場合、セッションで持つ必要のない情報は、POSTで引き渡してますね。



セッションに持たす情報と言えば、
・ログイン情報
・検索画面の検索条件やソート項目

くらいでしょうか・・・。

会員情報登録などは、POSTで十分だと思うのですがどうでしょうか。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

>会員情報登録などは、POSTで十分だと思うのですがどうでしょうか。

確かにその通りだと思うのですが入力,確認,登録完了とページを渡る
のでhiddenではなくsessionでの管理を検討しこのような結果となって
いる次第ですorz

まだ作りかけの段階なのですが今以上に保持するセッションが増えるのは
確実になってしまいます。

調べている際にわざわざ消さなくてもある程度時間が経過すれば勝手に
セッションは消えるという情報が目に付いたのですが送信完了した
フォームに再度行ったときに入力した情報が残っているのも自分がその
立場になれば嫌なものでやはりそういうわけにもいかないものかと・・・

お礼日時:2008/08/01 15:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報