OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

cookie が有効がどうか判断させたいのですが・・・

  • 困ってます
  • 質問No.227946
  • 閲覧数69
  • ありがとう数0
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 79% (173/218)

HPを見ているブラウザーが cookie が有効かどうか
しらべたいのですが、よくある cookie の書き込みと
読み出しのサンプルを使って以下のようなスクリプトを
考えました。


$cookie_flg = 1;

print &setCookie("CHECK", $cookie_flg);

# Cookie の値を得る

&getCookie();
$cookie_flg = $COOKIE{'CHECK'};

if ($cookie_flg eq '') {

$cookie_flg = 0; # Cookie が使えない

}

return $cookie_flg;


・・・これでわかるでしょうか?
ブラウザーでは実際に、cookie が使える状態
なのですが、アクセス最初の1回目は 0 が返って
くるのです。
( 2回目以降は 1 が返ってきて望みどおりです )
ひょっとして、cookie の仕様として、書き込んで
から、すぐに読み出そうとしても、読めないもの
のでしょうか?
それとも、cookie を書き込んだあと、一旦、
print "Content-type: text/html\n\n";
で閉めてから、読み出さないといけないとか???
こんなんで、何日もうんうん考え込んでます。
ベテランの方には、あまりに馬鹿馬鹿しい問題
なのかもしれませんが・・・
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル9

ベストアンサー率 60% (40/66)

ご推測の通り、Cookieを書き込んでから同じプロセスでそのCookieを読み込むことはできません。
CookieはCGIが呼び出されたときに環境変数の一つとして読み込まれます。ですからサンプルでは、書き込む以前にすでにCookieが読み込まれています。

ブラウザのCookieが有効になっているか否かは、別のCGIかJavaScriptであらかじめ書き込んでおく必要があります。
補足コメント
yasu

お礼率 79% (173/218)

ありがとうございました。
アドバイスいただけたので、自作CGIでよくよく
確認したところ、まさしくおっしゃるとおりでした。
これでようやく納得しました。。。
投稿日時 - 2002-03-04 15:43:21
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ