2015年3月7日土曜日

【PHP】setcookieで保存できない時の対処法

setcookieを実行してもクッキーが保存されない場合に疑うべき点などをまとめてみました

 1、第3引数の有効期限が短すぎる 

よくありがちなのが「30」とかって指定している場合。
30日のつもりでいたらとんでもない、これだと一瞬で有効期限がきれてしまいます。
 PHPのsetcookie()はUnix タイムスタンプでtime()+3600(1時間)のように設定します。 

2、第4引数のdomainが違う 

本番環境ではdomainに「~~.com」のように指定するのが普通ですが、
開発環境をローカルで構築している場合このdomainに保存しても意味ないですね。
開発環境用のconfigなどを設定して切り分けできるようにしておきましょう。 

3、第5引数のsecureの設定が違う 

これも本番環境ではHTTPSで通信しているが、開発環境はHTTPというようなケースですね。
同じく切り分けできるようにしておきましょう 

普段クライアント側javascript中心のプログラマーででPHPは初心者な人だとクッキーでハマることが多いみたいなので気をつけましょう。

0 件のコメント:

コメントを投稿