スレッド表示 | フラット表示〕 全トピック 920 件中 718 番目 次≫ ≪前

クッキーが有効かどうかを調べるのは?

created: 2003-11-30 16:21 | modified: 2003-12-02 03:20 | reply: 4

[1117] クッキーが有効かどうかを調べるのは?

user: Ele | created: 2003-11-30 16:21
こんにちは。初めまして。

ちょっと質問なのですが、クッキーになにか書き込む処理をして、もしブラウザのクッキーの設定が無効になっていれば、その旨、表示したいのですが、どうすれば良いのでしょう?

どうもsetcookieの戻り値は常にfalseのようです。(php3)
けっこう調べたのですが、よく分かりませんでした…。(´-T)
reply: 1118 返信 編集 削除

[1118] これでいいのですか?

user: masa ホームページ | created: 2003-11-30 20:49
もし見当違いだったらゴメンナサイ!クッキーが無効だったらその旨を表示したいということですか?
if (empty ($HTTP_COOKIE_VAR)) {
echo "クッキーが使用できません<br>" .
"クッキーを有効にしてください<br>";
ということなのでしょうか?
Parent: 1117  reply: 1120 返信 編集 削除

[1120] ダメでした…

user: Ele | created: 2003-12-01 01:22
masaさん、レスありがとうございます。
でも、それだと、最初にサイトを訪れた時は、クッキーがないわけで、そのメッセージが出ちゃいませんか…?

えっと、先ほど試してみましたけど、やっぱそうなっちゃいますね。

わたしは、もし確認するのなら、クッキーがクライアントから送信された時なのではなくて、クッキーにデータを書き込む時に、失敗したらエラー表示、という流れかな、と思ったんです。

マニュアルを見たら、setcookieの戻り値は成功したらture、失敗したらfalseとあるので、これを事前に調べたらイケるかな、と思ったらダメでした…。

あ、ちなみに、ショッピングカートのハナシです。
分かりにくくてスイマセン。
Parent: 1118  reply: 1122 返信 編集 削除

[1122] お望みの答えではないですが

user: masa ホームページ | created: 2003-12-01 12:35
<?php
if (empty($checkword)) {
setcookie("checkcookie", "see");
header("Location: $PHP_SELF" . "?checkword=1");
} else {
if (empty($HTTP_COOKIE_VARS)) {
echo "クッキーを有効にしてください";
} else {
setcookie("checkcookie");
echo "クッキー使用可能です";
echo "<a href=\"shop.php\">ショッピングカートへ</a>";
}
}
?>
お望みの答えではないですが、クッキーを不可にしているブラウザー対策として上記の構文を作成しました。最初にcheckwordがセットしていなければseeという値のクッキーを送ります。次に該当のPHPファイルを呼び出し、checkword=1を付加してデーターを送信すればcheckwordが空ではなくなりますのでクッキーの状態をチェックすることができます。試しにやってみましたがキチンと作動しました。お望みの答えとは少し離れてますが、今はこれ以外のことは考えられないのですみません。
Parent: 1120  reply: 1129 返信 編集 削除

[1129] なるほど…

user: Ele | created: 2003-12-02 03:20
ありがとうございます。
やはり、間にワンステップ噛まさないとダメなんですね。
自分でもいろいろ調べていたのですが、そういった解答が多かったみたいです。
あるいは「クッキーを有効にしてください」とメッセージを入れろ、とか。(笑)

わざわざ、サンプルまで作っていただいてありがとうございました。
その方法でやってみようと思います。
Parent: 1122  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 718 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑