• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クッキー書き込みが正常に行われない?)

クッキー書き込みが正常に行われない?

このQ&Aのポイント
  • フォームで名前を入力してもクッキーに書き込めないエラーが発生する
  • 1.cgiの名前のデータを呼び込む際にエラーが発生する
  • クッキー書き込みをしないで実行すると正常に名前が表示される

質問者が選んだベストアンサー

  • ベストアンサー
  • wolfwood
  • ベストアンサー率50% (199/398)
回答No.1

どうも、wolfwoodです。 >$val =~ s/(\W)/sprintg("%%%02X",unpack("C",$1))/eg; ここのsprintgはsprintfです。 正しくは $val =~ s/(\W)/sprintf("%%%02X",unpack("C",$1))/eg; です。 打ち間違えのケアレスミスですね。 この部分はコピーで済むのでコピーをお薦めします。 あと自分で記述した場合は見直しをよく行ってください。 では、頑張ってください。

KODAMAR
質問者

お礼

回答ありがとうございます。 無事実行できました。 >あと自分で記述した場合は見直しをよく行ってください。 はい、そのとおりですね。 何回も見直したつもりでいたんですが…。 この2.cgiを終了した後、クッキーを呼び出すために、 3.cgiを作成しました。 -----3.cgi-------------------- #!/usr/local/bin/perl # Cookieを読み出す。 &getCookie(); $name=$COOKIE{'name'}; print "Content-type:text/html\n\n"; print $name; print exit; #cookie読み込み。 sub getCookie{ local($cookie,$cookie3,$key,$value); $cookie=$ENV{'HTTP_COOKIE'}; #read(STDIN, $cookie, $ENV{'CONTENT_LENGTH'}); @cookie2=split(/; /,$cookie); foreach $cookie3(@cookie2){ ($key,$value)=split(/=/,$cookie3); $value =~ s/%([0-9A-fA-f][0-9A-fA-f])/pack("C",hex($1))/eg; $COOKIE{$key}=$value; } } ------------------------------ でも、さきほど2.cgiで入力して、出てきた値ではないものが出てきてしまうのです。 クッキーの値って上書きということはできないなんてことなんでしょうか? 申し訳ありませんが、再度よろしくお願いいたします。

KODAMAR
質問者

補足

すいません、できました。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A