電子書籍の厳選無料作品が豊富!

iswebのサーバーを借りています。
cookieの書きこみを下のような記述を試しています。

($sec, $min, $hour, $mday, $mon, $year, $wday) = localtime(time + 60*60*3);
@mons = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
@week = ('Sun', 'Mon', 'Tue', 'Wed', 'Thr', 'Fri', 'Sut');
$date = sprintf("%s, %02d\-%s\-%04d %02d:%02d:%02d GMT",$week[$wday], $mday, $mons[$mon], $year+1900, $hour, $min, $sec);
$mydata = "abc";

print "Set-Cookie: AAA=$mydata; expires=$date;";
print "Content-type: text/html\n";
print "\n";
print "<meta http-equiv="Set-Cookie" content="AAA=$mydata; expires=$date">";
以下いろいろつづく。

この時にSet-Cookie: AAA=$mydata; expires=$date;";を残すとエラーが出てmetaを残すと動きます。

自分のパソコンの中では、両方動きます。

そこで教えていただきたいのですが、
javascriptのdocument.cookie、perlのSet-Cookie、metaのSet-Cookieの違いを教えてください。

A 回答 (1件)

まず先にエラーの原因ですが、先頭の「Set-Cookie~」の行に改行が無いのが原因では?



> javascriptのdocument.cookie、perlのSet-Cookie、metaのSet-Cookieの違いを教えてください。

結果的な違いは特にありません。javascriptの場合はページ表示後に参照できることがありますが、ブラウザでjavascriptをオフにしていると使えないので、なるべくなら避けた方がいいです。

ちなみにperlをお使いなら CGI::Lite というモジュールを使うと便利です。
$cgi->print_data
などと書くだけで、面倒な書式だのをすべてやってくれます。
    • good
    • 0

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