2011-01-10 18 views
0

ウェブサイトで複数のセッションを管理する必要があります。私は非常にページ固有のプライベートセッションを開始する必要がありますので、ページから離れたら終了します。しかし、私が前のページに目を通すとき、私は古いセッションを使うことができるはずです。例:独立したプライベートセッション

Page A -> Starts Session A 
Page A -> is forwarded to Page B 

Page B -> Start its own private Session B 
Page B -> Completes the tasks and Terminates its private session B 
Page B -> Redirects to Page A 

Page A -> Again display the page using its old Session A 

このような同じWebサイトで複数のセッションを開始できますか?はいの場合、これをどのように管理できますか?

答えて

1

これにはsession_nameを使用できますが、1ページビューが完了するとすぐにページBがセッションを終了すると、最初はセッションを使用する時間が無駄になります。

+0

ページBは、プロセス全体が完了するとセッションを終了します。ページBの単純な負荷は何もしません。 – Starx

+0

あなたのリンクからいくつかの例を見ましたが、そのうちの1つはクッキーに依存していました。クッキーに頼るとすべてが妥協するでしょう。他のアイデアはありますか? – Starx

+0

セッションがクッキーに格納されるのは、セッションがどのように動作するかです(クエリ文字列のセッションIDを変更する場合を除く)。それ以外の方法はありません。 – Quentin

0

おそらく次のようなものです。

$_SESSION[$_SERVER['PHP_SELF']]['name'] = $value; 

//Page X termination 
unset($_SESSION[$_SERVER['PHP_SELF']]); 

アイデアをここに捨ててください。


セッションデータの民営化の拡大。ラッパーが役立つ可能性があります。

クエリ文字列以上が関連すると、キーに関連する値をハッシュできます。

例:$key = md5($_SERVER['PHP_SELF'] . $_SERVER['QUERY_STRING']);$_SERVER['REQUEST_URI']をキーとしてもかまいません。

+0

ええと....私はこれについて考えました...しかし、すべてのページはこのセッションへのアクセス権を持っています。ありがとうとにかく:D – Starx