0

CGI::SessionPerl Web アプリケーションでセッション管理に使用しています。セッション ドライバーを使用してセッションを作成できますfileが、既存のセッションを取得できず、保存されているセッションのパラメーターにアクセスできません。

既存のセッションを取得しようとしていますが、新しいセッションとクエリ文字列$CGISESSIDの両方を作成していますが、$sessionここではまったく新しいものであるため、保存されているパラメーターをセッションから取得できません。この問題を解決するのを手伝ってください。

ありがとう、クリシュナ

4

2 に答える 2

3

他の人が指摘したように、リクエストごとに新しいセッションを取得している場合は、Cookie でセッション ID を送信していません。CGI.pm を使用して HTTP ヘッダーを処理している場合は、次のようにします。

print $q->header(-cookie => $session->cookie);

アプリケーション フレームワークに CGI::Application を使用している場合は、setup() または cgiapp_init() (ある場合) 内でこれを行います。

$self->header_add(-cookie => $session->cookie);

または、デフォルトで CGI::header メソッドを使用する CGI::Session 独自の header() を使用できます。

print $session->header()

CGI::Session のユーティリティ (Cookie やヘッダーなど) を使用することをお勧めします。これは、Cookie の有効期限設定を尊重するためです。

于 2012-11-02T05:21:17.010 に答える
0

HTML コンテンツを印刷する前に print $session->header() を実行していますか?

于 2012-06-05T20:30:10.437 に答える