【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集

#!c:/Perl/bin/Perl.exe

------セッションを作成する-------
use CGI::Session;
$session = new CGI::Session(undef,undef,{Directory=>'/tmp'});
$session->expire('+50s');
$session->param("membername","テスト");
$session->flush();
print "Location: ./test.pl\n\n";

------セッションを読み込む-------
#!c:/Perl/bin/Perl.exe
print"Content-type: text/html\n\n";

use CGI;
use CGI::Session;
$q = new CGI();
$session = CGI::Session->new(undef,$q,{Directory=>'/tmp'});
$params = $session->param_hashref();
print$params->{"message"};
$session->flush();

何もブラウザに表示がされません、どこが間違ってるのでしょうか?

A 回答 (2件)

もしかして、



上では
>$session->param("membername","テスト");
こうしてるのに、

下では
>print$params->{"message"};
こうしてるから

ってそれだけの問題じゃないですよね?
後から気付いた#1でした。

この回答への補足

>上では
>>$session->param("membername","テスト");
>こうしてるのに、

>下では
>>print$params->{"message"};
>こうしてるから

こちらは教えてgooに投票するときに間違えただけです(汗)
でも自己解決しました。理由はヘッダ情報の出力を追加したら大丈夫でした
print $session->header(-charset => "shift-jis");
これで正常に動きました。ご迷惑おかけしました。

補足日時:2007/07/15 21:53
    • good
    • 0

こんにちは、



下の方のスクリプトで CGI::Session オブジェクトを生成する際に、
CGI オブジェクトを渡していますが、その CGI オブジェクトは param
か cookie にセッションIDを持っているんでしょうか?

もし、上のスクリプトが下のスクリプトへリダイレクトしているのなら、
セッションIDをどうやって渡しているのでしょうか?

”HTTPはステートレスなプロトコル”だと言う事をお忘れでは?
    • good
    • 0

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


おすすめ情報