1. ホーム
  2. Web プログラミング
  3. PHP プログラミング
  4. phpのヒント

phpでsetcookieに失敗した場合の対処方法

2022-01-15 15:47:07

1. ブラウザのCookieをONにする。

2. setcookie()の前に出力されるHTTPヘッダーを削除してください。

3. phpのsetcookie()でクッキーを作成するだけです。

phpのsetcookie()を使ってクッキーを作成するのは、phpでsession_start()を使ってセッションを開くのと同じで、setcookie()の前にHTTPヘッダーが出力されることはありえません。確認しに行ったところ、以下のようなコードがありました。

var_dump($qOpenId);
setcookie('qOpenId',$openid,time() + 30 * 24 * 3600,'/');

var_dump($OpenId), test, success という行を決定的にコメントアウトしてください。

個人的には、setcookieはhttpヘッダーの中に直接設定するべきだと思うので、その前にヘッダー出力、var_dump、echoなどがあってはいけないと思います。

ナレッジエクステンションです。

使用方法

setcookie(名前,値,期限,パス,ドメイン,セキュア)

パラメータの説明

  • name 必須。Cookieの名前を指定します。
  • value 必須です。Cookieの値を指定します。
  • expire 任意。Cookieの有効期限を指定します。
  • path 任意。Cookieのサーバーへのパスを指定します。
  • domain 任意。Cookieのドメイン名を指定します。
  • secure 任意。Cookieを安全なHTTPS接続で転送するかどうかを指定します。
setcookie("webURL",


www.jb51.net


, time()+3600*24);


phpでsetcookieに失敗したときの対処法については、この記事にまとめています。phpのsetcookie失敗の対処法については、BinaryDevelopの過去記事を検索するか、以下の記事を引き続き閲覧してください。