2011-07-11 34 views
1

私はWebチャットアプリケーションを開発中です。私は最近、特定のセッション変数が保存されていない問題に直面しました。私は他のすべてが正常に動作するように見えるので、なぜこれが起こっているのか分からない。コード:PHPセッション状態が保存されていません

これは、コマンドが関連付けられている関数を呼び出すクラスです。これは次のように呼ばれます:Command :: process( "whois"、 "username_goes_here");

考えられる問題は何か、どうすれば解決できますか?

+0

クイックノート、おそらくあなたが設定されているデータができないか、シリアル化されていない可能性があるため。オブジェクトを設定しているときにこれが問題であることが判明しました。セッションを保存する前に、オブジェクトをシリアル化する必要がありました。 – Devraj

+0

私はStringデータ型を扱っています。シリアライズする必要はありません。 MinteCommand_elevate()では、$ _SESSION ['minte'] ['admin']はadminハッシュと同じですが、Command :: process()では空の文字列です。 – Ryan

答えて

2

セッションにオブジェクトを保存する必要がある場合は、オブジェクトのクラスをロードしてから、保存されたオブジェクトがセッションに復帰する必要があることに注意してください。

この場合、まずオブジェクトのクラス定義をロードしてから、セッションからオブジェクトを読み込みます。

PS:うまくいけば、$commandの値が...機能へのHTTPリクエストから直接渡されません

関連する問題