Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.
X
Post

[タスク] My_Cookieでcookieが保存できないブラウザがある問題に対応

ver 0.0.6の修正箇所。バグの修正です。


配列と文字列の処理速度について調査を行った際、
safariではMy_Cookieで保存ができない事に気付きました。

自分が普段使っているのはfirefoxで、
firefoxでは正常に保存できています。
ブラウザによって保存できるものとできないものがあるのは何故か……

調べてみたら、My_Cookieのsetメソッド内で値の取得ミスがありました。

if($path == ''){
    // パスではなくタイムアウトを取得している。
    $path = $this->getDefaultTimeout();
}

まあ……よくある事だがしょっぱいミスをそのままにしてしまった。
この部分を修正して対応完了。


しかし、パスが誤っていてもfirefoxではCookieが保存できたというのは興味深い。
せっかくなので、主要ブラウザでどう動くか確認してみました。
確認したのはIE8、firefox、safari、chromeで、次のコードを実行してみました。

// パスの引数で誤った値を入れる
setcookie('test_1', 'aaa', 0, '123456789');

var_dump($_COOKIE);

これを実行した結果は……

呼び出しに成功する:firefox, chrome
呼び出しに失敗する:safari, IE8

と、綺麗にわかれました。


きっかけは自分自身の凡ミスなのですが、
setcookieの際にパスが誤った時にブラウザごとに
反応が違う事が分かったのが意外な収穫でした。

TrackBack URL :

Leave a comment  

name

email

website

Submit comment