人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

phpのオープンソース(osCommerce)を改変中なのですが、改変の結果ブラウザのクッキーが変更できなくなってしまいました。どういう原因が考えられるかお知恵をお貸しください。
ズバリ特定されて方には400pt差し上げます。

該当部分のソースは以下の通りです。
setcookie("shop_language", 'ja', (time()+30*86400), '/', $_SERVER['HTTP_HOST']);

'ja'に変わるはずが変わりません。
直前まで処理が流れてるのは確認できています。
全く同じソースでテスト環境では上手く行っております。ですので余計にわかりません。
よろしくお願いします。

●質問者: hhashimo
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●200ポイント

ブラウザの設定を「セキュリティーレベル:小」に変えないとダメとか?

◎質問者からの返答

テスト環境も同じブラウザで見てますが、正常動作してます。セキュリティーレベルは変えてません。

また何かありましたらよろしくお願いします。


2 ● きゃづみぃ
●250ポイント ベストアンサー

とりあえず テストパターンとして

クッキーを別の名前にしてみる。→ "shop_language"

書き込む内容の変更 → 'ja'を変えてみる。

時間を変える。 → time()+360 とかにしてみる。

パスを変える。 → '/'

ドメインを変える。 → 変数じゃなく 値を直接セットしてみる。

◎質問者からの返答

度々ありがとうございます。

丁度クッキー名を変えてみたところでした。

クッキーを別名にしたところ、別名のクッキーには指定した内容で書き込まれました。

同じクッキー名だと書き変わらないとはどういうことでしょう???


追記です。

クッキー名を変更した後は、同じクッキー名でも値を指定通りに変えられるようです。ですので、変更後のクッキー名に全て変更すれば、一応対策にはなりませうが、理由がわからないのは釈然としませんし、改変箇所が増えるため出来れば避けたいと思っています。


追記2です。

まだ確定ではないですが、

上記コードでは正常に書き換わっているが、後のコードで再び書き換わって元に戻っていたという単純エラーが原因のようです。

いったん終了します。ありがとうございました。


3 ● じゅぴたー
●50ポイント

セキュア属性付きのCookieになっており、httpアクセスで変更しようとしていませんか?

セキュア属性付きのCookieはhttpからは変更できません。httpsに戻してアクセスし直してみてください。

以上、ご確認になってみてください。

◎質問者からの返答

まだ確定ではないですが、上記コードでは正常に書き換わっているが、後のコードで再び書き換わって元に戻っていたという単純エラーが原因のようです。

いったん終了します。ありがとうございました。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ