[PHP-users 25152] セッション管理について
viola
forza_viola @ proof.ocn.ne.jp
2005年 3月 27日 (日) 11:44:21 JST
viola と申します。
この度、セッション管理についてご質問させて頂きます。
-----------------------
■環境
PHP4.1.2
solaris7
-----------------------
セッション関数を使用し、あるサイトの管理ページを
作成しているのですが、挙動が期待する動きと違う為
この度質問させていただきます。
-----------------------
■現象
A ログイン画面にてID、パスワードを入力しログイン(html)
B 認証ロジックでOKであればメニュー画面へ(PHP)
C メニュー画面にてセッション処理実行
1 session_start() // セッションスタート
2 session_unregister() // セッションに登録された値を削除
3 session_unset() // セッション開放
4 $_SESSION[ID] = ID // セッションセット
5 isset関数にてセッションが存在するかチェック、存在しなければ
ログイン画面に戻す(Header関数使用)
D ID、パスワード変更画面(この画面はPHP内にhtmlを記述しています)
1 session_start() // セッションスタート
2 isset関数にてセッションが存在するかチェック、存在しなければ
ログイン画面に戻す(Header関数使用)
E ID、パスワード確認画面(この画面はPHP内にhtmlを記述しています)
1 session_start() // セッションスタート
2 $_SESSION[ID] = ID // セッションセット
3 isset関数にてセッションが存在するかチェック、存在しなければ
ログイン画面に戻す(Header関数使用)
4 ID、パスワード更新処理(SQL発行)
F ID、パスワード変更完了画面(PHP内にhtml記述)
1 session_start() // セッションスタート
2 isset関数にてセッションが存在するかチェック、存在しなければ
ログイン画面に戻す(Header関数使用)
*C〜Fのhtml画面では <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
を使用し、キャッシュをクリアしています。
以上、A〜Fまでの処理を行い、ID、パスワードを変更するのですが、
Fの確認画面よりリンクでメニュー画面に戻り、ID、パスワード変更画面
へ遷移した場合、変更前の情報が出力されてしまいます。
ブラウザをリロードすると更新された情報が出力されます。
----------------------
以上の現象が起こっているのですが、ID、パスワードの変更処理を行い、
再度 変更画面に遷移した際になぜ変更データが出力されないのか、
変更データを出力させるにはどうすれば良いのか
以上、ご教授頂けないでしょうか
宜しくお願いします。
PHP-users メーリングリストの案内